数据结构——慕课
文章平均质量分 60
ForABiggerWorld
这个作者很懒,什么都没留下…
展开
-
Reversing Linked List
Given a constant KKK and a singly linked list LLL, you are supposed to reverse the links of every KKK elements on LLL. For example, given LLL being 1→2→3→4→5→6, if K=3K = 3K=3, then you mu原创 2017-04-09 11:51:05 · 416 阅读 · 0 评论 -
树的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:用了2种递归/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {原创 2017-04-17 17:29:37 · 191 阅读 · 0 评论 -
最小生成树 Prim Kruskal
最小生成树1. 是一棵树:无回路,V个顶点一定有V-1条边2. 是生成树:从原始图中生成的,包含全部顶点3. 最小: 边的权重和最小一个图的最小生成树可能不唯一解决办法:贪心算法1. 什么是贪:每一步都是最好的2. 什么是好:权重最小的边3. 但是不是直接排序去最小的边,还需要约束:只能用图里面有的边,只能正好用掉V-1条边,不能又回路原创 2017-04-15 16:53:54 · 653 阅读 · 0 评论 -
拓扑排序
为了避免每次都遍历找未输出的入度为0的顶点,直接维持一个Queue,每次删除节点时有入度为0的顶点,就把它放到Queue里面去例子:Given the relations of all the activities of a project, you are supposed to find the earliest completion time of原创 2017-04-18 19:25:31 · 540 阅读 · 0 评论 -
并查集 File Transfer
We have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any computer原创 2017-04-10 15:30:21 · 450 阅读 · 0 评论 -
merge sort 递归 && 非递归
递归非递归原创 2017-04-20 17:26:30 · 336 阅读 · 0 评论 -
最短路径问题
可以这样分:(1)单源最短路径:从某固定源点出发,求其到所有其他顶点的最短路径(2)多源最短路径:求任意两顶点间的最短路径也可以这样分:(1)无权图的最短路算法:直接BFS解决(2)有权图的最短路算法:Dijkstra算法,Dijkstra算法是按照递增的顺序找出到各个顶点的最短路。---------- 其实可以把权重展开分解为一个个权重为1的路径,这不就是无权图的最短路径原创 2017-04-12 15:46:42 · 628 阅读 · 0 评论 -
Sort with Swap(0, i)
Given any permutation of the numbers {0, 1, 2,..., N-1N−1}, it is easy to sort them in increasing order. But what if Swap(0, *) is the ONLY operation that is allowed to use? For example, to sort {原创 2017-05-03 18:23:49 · 775 阅读 · 0 评论 -
排序总结
冒泡:适合链表,稳定插排:适合于逆序对少的基本有序的数组,稳定它们都是交换相邻点,每一次交换消除一个逆序对,所以交换的次数是一样的要想让算法快起来,要一次交换消除多个逆序对希尔排序:保持了插排的简单,同时试图克服一次只能消除一个逆序对,Dk间隔地进行插排,每次减少Dk的大小直到为1,这样的一个好处是到最后的1时数组基本有序Dk的选取会影响算法复杂度,可以从array原创 2017-05-03 20:29:17 · 348 阅读 · 0 评论