
数据结构
文章平均质量分 71
张娃娃
北邮小硕一枚,专业:通信与信息系统。
展开
-
最小生成树算法(Prime、Kruskal)和最短路径算法(Dijkstra、Floyd)
最小生成树算法(Prime、Kruskal)和最短路径算法(Dijkstra、Floyd) 区别: 最小生成树:整个拓扑图的所有路径之和最小,但不能保证任意两点之间的路径最小。在通信网络设计的时候能够保证最小成本。构造最小生成树一般使用贪心策略,有prime算法和kruskal算法 最短路径:对于拓扑图来说源点和目的点之间经过的边上的权值之和最少的路径。Dij原创 2014-03-28 15:34:27 · 2610 阅读 · 0 评论 -
排序算法---希尔排序
希尔排序 直接插入排序的时间复杂度在元素有序或者是元素数量少的时候是比较有效的,希尔排序为了提高算法的效率,所以将原始的元素进行分组使每个分组的元素个数较少,然后在这些分组中进行直接插入排序,当整个序列基本有序的时候再接着进行一次直接插入排序。 基本思想:假设有n个数据元素 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各原创 2014-04-03 21:16:27 · 854 阅读 · 0 评论 -
排序算法---直接插入算法
直接插入算法 直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。 假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。 例如: 假设待排序元素为49,38,65,97,76,13,27,49原创 2014-04-03 20:48:44 · 716 阅读 · 0 评论 -
查找的基本概念和简单方法
查找:在一些(有序的/无序的)数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找。也就是根据给定的某个值,在查找表中确定一个关键字等于给定值的记录或数据元素。 查找表:是由同一类型的数据元素构成的集合。 关键字:是数据元素中某个数据项的值。 主关键字:该关键字可以唯一的标识一条记录。 次关键字:可以识别多个数据元素的关键字。 静态查找:只作原创 2014-04-02 11:02:44 · 952 阅读 · 0 评论 -
单链表的创建、删除与打印
单链表的创建包括两种方法,头插法和尾插法。其中头插法是将每个新添加的结点作为第一个结点,紧紧跟在头结点后面。尾插法是将每个新的结点作为最后一个结点,要注意最后声明最后一个结点的指针为NULL。原创 2014-04-16 21:34:28 · 546 阅读 · 0 评论 -
数据结构---二叉树总结
二叉树 (1)二叉树是n(n>=0)个结点的有限集合,该集合或为空集,或者由一个根结点和两棵互不相交的分别成为根结点的左子树和右子树的二叉树组成。 深度——二叉树的层数,就是深度。 性质:1、在二叉树的i层最多有2i-1个结点。 2、一棵深度为k的树最多有2k-1结点。 二叉树叶子结点与度为2的结点n0=n2+1. 证明性质3:原创 2014-04-13 15:01:49 · 975 阅读 · 0 评论