数据结构与算法
明致成
人生海海,山山而川,不过尔尔!
展开
-
数据结构及算法知识(二)
总结: ①线性结构:线性表、栈、队列、串、数组、广义表 ②非线性结构:数(二叉树) ③哈弗曼树:带权路径长度最小的二叉树。带权路径长度WPL=所有叶子节点的权值*路径长度; 一、并查集 并查集支持查找一个元素所属的集合以及合并两个元素各自所属的集合等运算。 在这种数据类型中,n个不同的元素被分为若干组,每组是一个集合,这种集合叫做分离集合。 并查集的数据结构实现方法:数组、链表、数等原创 2017-07-21 19:57:20 · 621 阅读 · 0 评论 -
排序算法总结
稳定:如果a原本排在b前面,排序后依旧如此,则稳定。 口诀:"插泡归基稳" 一、快速排序 思想: 1、选择一个元素作为"基准"(pivot)。 2、所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。 3、对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。 代码: var quickSort=functi原创 2017-08-31 21:24:37 · 337 阅读 · 0 评论 -
数据结构及算法知识(四)
###排序### 内排序:在排序过程中,若整个表都是放在内存中处理,排序是不涉及内外存数据的交换,则称之为内排序。 外排序:若排序过程中要进行内外存数据的交换,则称之为外排序。 内排序适用于元素个数不是很多的小表,外排序适用于元素个数很多,不能一次将全部元素放入内存的大表。 内排序有:插入排序、交换排序、选择排序、归并排序、基数排序。 1、插入排序:每次将一个待排序的元素,按其关键字大小原创 2017-07-24 16:55:28 · 312 阅读 · 0 评论 -
数据结构及算法知识(三)
一、数组 ①特殊矩阵的压缩存储:(对称矩阵、三角矩阵、对角矩阵)的压缩存储方法是把有一定分布规律的值相同的元素(包括0)压缩存储到一个存储空间中。这样的压缩存储只需要在算法中按公式作映射可实现矩阵元素的随机存储。 ②稀疏矩阵的三元组表示 稀疏矩阵的压缩存储方法是只存储非零元素。 稀疏矩阵中的每一个非零元素需由一个三元组(i,j,aij)唯一确定,稀疏矩阵中的所有非零元素构成三元组线性表。原创 2017-07-23 16:38:05 · 464 阅读 · 0 评论 -
数据结构及算法知识(一)
一、有序表的归并算法 思想:(在不破坏原有表的情况下)将两个有序表合并成一个有序表可以采用二路归并算法。 分别扫描LA和LB两个有序表,当两个有序表都没有扫描完时循环:比较LA、LB的当前元素,将其中较小的元素放入LC中,再从较小元素所在的有序表中取出下一个元素。重复这一过程直到LA或LB比较完毕,最后将为比较完的有序表中余下元素放入LC中。 假设表的长度分别为M、N,则时间复杂度为O(M+原创 2017-07-16 15:00:14 · 782 阅读 · 0 评论