C/C++\数据结构
文章平均质量分 67
Jay_Sherry
这个作者很懒,什么都没留下…
展开
-
排序之表排序、基数排序及所有排序算法比较
本学习笔记部分内容来自浙江大学网易云课堂,谢谢!1、表排序定义一个指针数组做为表。排序的时候,数组位置上的数值不变,改变的是指针的指向。如该图,初始数值:f d c a g b h e 开始时,比较f>d,则指针0指向d,指针1指向f。之后比较f>c,d>c,则指针0指向c,指针1指向d,指针2指向f。以此类推,最终指针0指向a的位置(即table[0]=3,A[3]那个位原创 2015-07-10 18:55:17 · 1287 阅读 · 0 评论 -
排序之选择排序、堆排序、归并排序、快速排序
本学习笔记内容部分来自网易云课堂浙江大学数据结构视频,及海子的博客:http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html以及~大器晚成~的博客http://www.cnblogs.com/luchen927/archive/2012/02/29/2368070.html1、选择排序基本思想:在一个长度为N的无序原创 2015-07-08 14:02:21 · 1205 阅读 · 0 评论 -
查找之散列查找(哈希表)
本学习笔记部分内容来自网易云课堂浙江大学数据结构课程,谢谢!1、散列表(哈希表)已知的几种查找方法:顺序查找 O(N)二分查找(静态查找) O(logN)二叉搜索树 O(h) h为二叉树高度 (动态查找:有插入有删除有查找)平衡二叉树 O(logN)查找的本质:已知对象找位置1、有序安排对象:全序或半序;2、直接算出对象位置原创 2015-07-11 15:01:58 · 3144 阅读 · 0 评论 -
图之表示和遍历
学习笔记!!!!!一、什么是图(Graphy)?表示“多对多”的关系,包含一组顶点(V表示顶点集合)和一组边(E表示边的集合)。边是顶点对:(v,w)属于E,其中v,w属于V有向边表示从v指向w的边,不考虑重边和自回路。图的数据对象集:G(V,E)由一个非空的有限顶点集合v和一个有限边集合E组成。注意,图可以没有边,但至少会有一个顶点。使用邻接矩阵表示图:原创 2015-07-03 13:57:20 · 1081 阅读 · 0 评论 -
图之Dijkstra算法、Floyd算法(最小路径问题)
本文内容部分来源于网易云课堂浙江大学数据结构视频教程和华山大师兄的博客http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html,谢谢!!!最小路径问题在网络(带权重的图)中,求两个不同顶点之间的所有路径中,边的权重之和最小的那一条路径——最短路径,第一个顶点为源点,最后一个顶点为终点。单源最短路径问题:原创 2015-07-05 18:24:31 · 1424 阅读 · 0 评论 -
图之Prim算法、kruskal算法和拓扑排序
本文内容部分来源于网易云课堂浙江大学数据结构视频教程,谢谢!!!1、最小生成树a、先是一棵树:无回路,v个顶点一定有v-1条边;b、是生成树:包含全部顶点,v-1条边全在图里;(向生成树中任加一条边都会形成回路)c、边的权重和最小。最小生成树一定是连通的,连通图中也一定能找到一棵最小生成树。贪心算法:贪,每一步都要权重最小。约束条件:1、只能用图里的边,2、只能正好原创 2015-07-06 17:06:47 · 962 阅读 · 0 评论 -
排序之冒泡排序、插入排序及希尔排序
1、冒泡排序基本思想:对于每一趟的排序,从第一个数开始,依次比较前一个数与后一个数的大小。如果前一个数比后一个数大,则进行交换。这样一轮过后,最大的数将会出现在最末位的位置。第二轮则去掉最后一个数,对前n-1个数再按照上面的步骤找出最大数,该数将出现在倒数第二的位置。n-1轮过后,就完成了排序。,举例:冒泡排序1,5,2,3,9,8,6,第一趟:,12,交换1 2 5,原创 2015-07-07 14:12:29 · 811 阅读 · 0 评论