- 博客(12)
- 收藏
- 关注
原创 内部排序算法(一):交换排序(冒泡排序,快速排序)
这是我的博文系列《内部排序算法》的第一篇。所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。所谓内部排序,是指在排序过程中,若整个文件都是放在内存中处理,排序时不涉及数据的内、外存交换(外排序的定义则相反)。 内部排序法按照策略可以划分为五类:插入排序、选择排序、交换排序、归并排序和分配排序。待排文件的存储方式采用顺序表(或直接用向量)作为存储结构(其他的
2014-08-25 23:55:42 1311
原创 哈夫曼编码(最优前缀码)
作为哈夫曼树的一个重要应用,我们来介绍哈夫曼编码。在我的上一篇博文《树之哈夫曼树》中已经介绍了建立哈夫曼树的过程,而由哈夫曼树求得的编码为最优前缀码。每个叶子表示的字符的编码,就是从根到叶子的路径上的标号依次相连所形成的编码,显然这就是该字符的最优前缀码。所谓前缀码是指,对字符集进行编码时,要求字符集中任一字符的编码都不是其它字符的编码的前缀,比如常见的等长编码就是前缀码。所谓最优前缀码是指,平均
2014-08-23 15:35:11 27493
原创 线性表之双循环链表
下午睡了一觉起来继续写哈。本文中的双循环链表有以下特征:有头结点,每个结点中除next域存放后继结点地址外,还增加一个指向其直接前趋的指针域prior(这点与单链表区分开),将头结点和尾结点链接起来(即循环性)。相关的插入删除操作需要修改4个指针的指向。写的时候纠结了一会儿边界条件,比如删除第一个或最后一个结点,在第一个结点前或最后一个结点后插入新结点,调试了一会,应该调出来了吧~~囧~~错误之处
2014-08-12 19:43:55 680
原创 线性表之单循环链表
程序员没有午休,话说好多年不睡午觉了哈,利用中午时间调试好了单循环链表的程序。据说某学长当年面试的时候被问到“如何用循环链表输出1-10”?看来这个问题还是很火的哈~~~本文中介绍的单循环链表不具有一般意义,它有以下的特征:带头结点,设头指针(有些循环链表设尾指针)。我们知道,循环链表中没有NULL指针,涉及遍历操作时,其终止条件就不再是像非循环链表
2014-08-12 15:39:27 846
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人