- 计算机算法指的是(解决问题的步骤序列),它必须具备(可执行性、确定性、有穷性)?这三个特性。
- 堆排序 【算法】排序算法之堆排序 - 知乎
- 二叉树中度为0的结点数与度为2的关系 n0=n2+1
- 有向图 **是否有环的判定算法主要有 深度优先 和 **拓扑排序 **两种.
- 非递归实现深度优先遍历
- ?以图的邻接矩阵为例
- ?使用一个stack来保存要访问的节点,每次都获取栈顶元素,然后遍历其对应的邻接点,如果遇到一个没有访问过的邻接点,则终止对其他邻接点的遍历,将该邻接点入栈,并进行下一轮循环,直到该元素的邻接点都被访问完了,然后该元素出栈
- ?当栈为空时,就说明所有元素都被遍历了,循环终止
-
最小生成树 prim, kruscal?? 图解:什么是最小生成树? - 知乎 leetcode 1135题 - 97题 ?数据结构基础练习题 | GoogTech's Blog Site
- 本题既考察了队列的先进先出的特性,又需要考虑删除时队列的不同状态。
- 当有多于一个节点时,链表表示的队列的删除操作只需要修改头指针即可,将头指针定义为head=head.next? 此时不需要修改尾指针;
- ?当队列只有一个节点时,该节点既是头又是尾,如果head==tail 则需要修改尾指针将队列置空。
- 二分查找需要 数列有序,数据以顺序存储结构。
- 往队列的队尾插入一个元素为入队,从队列的排头删除一个元素称为退队。初始时 front=rear=0 , front 总是指向队头元素的前一位置,入队一次 rear+1 ,退队一次 front+1 。队列队头队尾指针相同时队列为空。而带链的队列,由于每个元素都包含一个指针域指向下一个元素,当带链队列为空时 front=rear=Null ,插入第 1 个元素时, rear+1 指向该元素, front+1 也指向该元素,插入第 2 个元素时 rear+1 , front 不变,删除 1 个元素时 front+1 。即 front=rear 不为空时带链的队列中只有一个元素。
- 对稀疏矩阵进行压缩存储:三元数组存储(行,列,值)、行指针链表(第一列为数组,用指针链接到本行下一个有意义的位置)、十字链表。
- 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是(m-n) ?第一颗树就是二叉树的的左子树加根节点,左孩子右兄弟
- 每种数据结构都具有插入、删除和查找三种基本运算,这种说法并不正确。
- 一般而言,并不是所有的数据结构都有这三种基本运算。
- 比如多维数组,就没有插入和删除,可以看看,哪怕是二维数组,如果删除其中某个元素,用行还是列来顶替,顶替后,二维数组不就出现缺口了。
- 再比如说栈和队列,一般并不需要查找(其实原则上说也不能查找,因为逻辑上其访问点被严格限制在线性表的端点了,即使用顺序存储或者链式存储可以在存储结构中查找)
- 一个关键活动提前完成,只能让这条关键路径变成非关键路径。当关键路径不止一条的时候,单单提高一条关键路径上关键活动的速度,是不能缩短整个工程工期的。所以,并不是网中任何一个关键活动提前完成,整个工程都能提前完成。但如果网中任何一个关键活动延期完成,整个工程一定延期。
- 顶点类的节点有e个,图中有n个边,则边类的节点有2n个,因此为2n+e。
- 强连通图是指一个有向图中任意两点v1、v2间存在v1到v2的路径及v2到v1的路径的图。有向无环图中,用顶点表示活动,用有向边表示活动之间开始的先后顺序,则称这种图为AOV网络;AOV网络可以反应任务完成的先后顺序(拓扑排序)。
- 当权值相同,则最短路径问题转化为求边数最少的问题,BFS可以保证求得源点到汇点的最少边数。
|