数据结构
文章平均质量分 77
花念雪
这个作者很懒,什么都没留下…
展开
-
插入排序算法
插入排序是排序的一种,从排序的过程上看大意是在已经排好序的具有n个记录的序列中,为一个新增的记录在序列中找到合适的位置,然后插进去,形成具有n+1个记录的有序序列,当然这种有序并不一定是按照位置有序,可能根据索引等方式实现有序。算法以及相关代码参考严蔚敏《数据结构》插入排序章节,本文作为自己学习的笔记总结。直接插入排序直接插入排序的基本操作是将一个记录插入到已经排好序的序表中,从而形成一个原创 2014-04-02 21:28:46 · 837 阅读 · 0 评论 -
排序算法
快速排序快速排序是对冒泡排序的一种改进,它的基本思想是通过一趟排序将待排记录分割成独立的两部分,其中一部分的关键字比另一部分的关键字小,然后分别对这两部分进行快速排序,递归此过程,直到整个序列有序。快速排序对包含n个数的输入数组,最坏情况运行时间较差,但是快速排序通常是用于排序的最佳的使用选择,它的平均性能相当好,期望为O(nlgn),隐含的常数因子很小。就一趟排序而言,例如对数组a中原创 2014-04-24 18:08:35 · 491 阅读 · 0 评论 -
红黑树
C++实现红黑树,红黑树的讲解可以参见维基百科,相当仔细,原创 2014-09-15 14:01:09 · 636 阅读 · 0 评论 -
从1到n整数x出现的次数
/* * 统计1到n的整数中x(x可以是1~9的数)出现的次数 */#include using namespace std;intsolve(unsigned int n, int x); /* 根据数字规律,效率较高的算法实现 */intsolve2(unsigned int n, int x); /* 遍历所有整数的实现,n较大时极端低效 */intm原创 2015-05-05 11:52:56 · 660 阅读 · 0 评论 -
给定N是一个正整数,求比N大的最小“不重复数”,这里的不重复是指没有两个相等的相邻位,如1102中的11是相等的两个相邻位故不是不重复数,而12301是不重复数。
/* *给定N是一个正整数,求比N大的最小“不重复数”,这里的不重复是指没有两个相等的相邻位,如1102中的11是相 *等的两个相邻位故不是不重复数,而12301是不重复数。 */#include unsigned int solve(unsigned int k); unsigned int testify(unsigned int k);intmain(voi原创 2015-05-14 20:51:10 · 2025 阅读 · 0 评论 -
哈希函数
AbstractI offer you a new hash function for hash table lookup that isfaster and more thorough than the one you are using now. I also giveyou a way to verify that it is more thorough.All the text转载 2015-10-30 11:24:23 · 811 阅读 · 0 评论