数据结构基础(零散知识点)后续更新

1.  AOE(Activity On Edge)网中的关键路径指的是从源点到汇点的最长路径之和

2.  顶点:数据元素在图中的一种形式 基本元素

3.  边:是图结构中数据元素之间关系的表示

4.  无向边:称为“边” 有向边 称为“弧” 弧的出发点为弧尾 终点为弧头

5.  无向图:由非空有限点集和有限无向边集构成的图

6.  有向图:由非空有限点集和有限有向边集构成的图

7.  无权图:由非空有限点集和无限有权边集构成的图

8.  有权图:由非空有限点集和有限有权边集构成的图 简称为“网络”

9.  无向完全图 任意两个顶点之间都存在边的无向图

10. 有向完全图 任意两个顶之间都存在互达的弧的有向图

11. 连通图 任意两个顶点之间都存在路径的无向图

12. 要将两个长度为n的递增有序表归并为一个长度为2N的递增有序表,最少要进行关键字比较N次

14. 松驰时间(活动的最迟开始时间-活动的最早开始时间)

15. 最迟开始时间=关键路径-目标活动至终点最短路径-目标活动时间

16. 最早时间=初始点到达目标活动起点最长路径

17. 任何一个基于“比较”的内部排序的算法 2k =n!

18. 广义表的长度,是指广义表中元素的个数N

19. 广义表的深度 是指广义表展开后的最大括号层次数

20. 循环队列的队首元素的实际位置是(1+rear+m-length) mod 

21. 采用动态规划策略求解问题的显著特征是满足最优性原理 含义是原问题的最优解包含其子问题的最优解

22. 拉斯维加斯(Las Vegas)算法是一种常用的概率算法。(概率算法的基本特征是对所求解问题的同一实例用同一概率算法求解两次可能得到完全不同的结果。它大致分4类:数值概率算法、蒙特卡罗算法、拉斯维加斯算法和舍伍德(Sherwood)算法。) 

23. 贪心法是这样的一种解题方法:逐步给出解的各部分,在每一步“贪婪地”选择最好的部分解,但不顾及这样选择对整体的影响,因此一般得到的不是最好的解。
解决背包问题:有不同价值、不同重量的物品n件,求从这n件物品中选取一部分物品的选择方案,使选中物品的总重量不超过指定的限制重量,但选中物品的价值之和最大。
较高效率地解决背包问题一般用递归和贪心算法,而背包问题规模不是很大的时候,也可以采用穷举法。

24. 循环链表的主要优点是从表中任一结点出发都能遍历整个链

25. 图中顶点的度定义为与该顶点相关联的边的数目。在无向图中就是与该顶点相邻接的顶点数,而与该顶点连通的顶点数可能就非常多厂

26. 具有n个顶点的连通无向图至少有n-1条边,具有n个顶点的强连通有向图至少有n条弧。(强连通图必须从任何一点出发都可以回到原处,每个节点至少要一条出路(单节点除外)
至少有n条边,正好可以组成一个环)

27. 为在状态空间树中找出最优的答案结点,可以利用LC-检索(Least Cost Search)快速找到一个答案结点。在进行LC-检索时,为避免算法过分偏向于作纵深检查,应该(在成本估计函数ê(.)中考虑根结点到当前结点的成本(距离)

28. 以比较为基础的排序算法在最坏情况下的计算时间下界为 O(nlog2n)

29. 求单源点最短路径的迪杰斯特拉(Dijkstra)算法是按路径长度递增的顺序求源点到各顶点的最短路径的。

30. 对于具有最优子结构和重叠子问题的问题,可以用动态规划求解问题,求解过程中通常需要建立最优子结构的递归关系。分治算法的基本思想是将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。回溯算法也称为试探算法,该算法首先放弃关于问题规模大小的限制,并将问题的候选解按某种次序逐一枚举和检验。当发现当前候选解不可能是解时,就选择下一个候选解,若当前候选解除了还不满足问题规模要求外,满足所有其他要求时,继续扩大当前候选解的规模,并继续试探。用回溯算法找解的算法常常被编写成递归函数。贪心算法是一种不追求最优解,而是希望得到较为满意解的方法。贪心算法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费大量的时间。贪心法不要回溯。因此贪心算法策略与递归技术的联系最弱

31. AOE网中最短工期为最长路径,最短路径不能保证关键事件都发生

32. 由于一棵二叉查找树的形态完全由输入序列决定,所以在输入序列已经有序的情况下,所构造的二叉查找树是一棵单枝树。例如,由序列(45,30,50)和序列(30,45, 50)构造的二叉查找树如图(a)、(b)所示。

33. 算法的实现需要依赖于数据结构的设计

34. 迭代算法:让计算机对一组指令(或一定步骤)进行重复执行

35. 递归算法:是一种直接或者间接地调用自身的算法

36. 深度优先和广度优先遍历图的过程实质上是对某个顶点查找其邻接点的过程,其耗费的时间取决于所采用的存储结构。当图用邻接矩阵表示时,查找所有顶点的邻接点所需时间为O(n2)。若以邻接表作为图的存储结构,则需要O(e)的时间复杂度查找所有顶点的邻接点。因此,当以邻接表作为存储结构时,深度优先搜索遍历图的时间复杂度为 O(n+e)。

37. 依据关键字无序的序列建立二叉排序树,也可能构造出单支树

38. 队列采用单循环链表存储时,只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1)

39. 用分治法找假币的过程为:先将16枚硬币对等分为2堆(各8枚)并比较其重量,假币在较轻的那一堆中;然后将8枚硬币对等分为2堆(各4枚)并比较其重量,假币在较轻的那一堆中;再将4枚硬币对等分为2堆(各2枚)并比较其重量,假币在较轻的那一堆中;最后比较两个硬币的重量,找出假币。因此,至少比较4次才能够找出该假币。

40.  归并的含义是将两个或两个以上的有序表组合成一个新的有序表。假设初始序列含有,n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[n/2]个长度为2或1的有序子序列;再两两归并,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法称为2一路归并排序。
将待排序元素分成大小大致相同的两个子集,分别对两个子集进行排序,最终将排好序的子集合并成所要求的排好序的集合。符合分治算法设计的思想。

41. 广度优先遍历和深度优先遍历的时间复杂度相同,其实质都是通过边或弧找邻接点的过程。

猜你喜欢

转载自blog.csdn.net/qq_38959715/article/details/80071329
今日推荐