算法,数据结构,排序
文章平均质量分 71
qq_16697387
这个作者很懒,什么都没留下…
展开
-
如何从100万个数中找出最大的前100个数
摘自 http://blog.sina.com.cn/s/blog_682686610100xlrr.html 1. 算法如下:根据快速排序划分的思想 (1) 递归对所有数据分成[a,b)b(b,d]两个区间,(b,d]区间内的数都是大于[a,b)区间内的数 (2) 对(b,d]重复(1)操作,直到最右边的区间个数小于100个。注意[a,b)区间不用划分 (3) 返回上转载 2017-02-07 21:41:52 · 1857 阅读 · 0 评论 -
几种排序在最坏和最好情况下的时间复杂度
转载 2017-10-03 15:55:52 · 29934 阅读 · 0 评论 -
哈夫曼树
一、哈夫曼树的概念和定义 什么是哈夫曼树?让我们先举一个例子。判定树: 在很多问题的处理过程中,需要进行大量的条件判断,这些判断结构的设计直接影响着程序的执行效率。例如,编制一个程序,将百分制转换成五个等级输出。大家可能认为这个程序很简单,并且很快就可以用下列形式编写出来: [cpp] view plain copy转载 2017-10-06 15:50:06 · 239 阅读 · 0 评论 -
8种常用内部排序
在公司实习了,由于公司的性质,以后的工作中用到算法&数据结构的知识可能会很少,很想把以前学的数据结构&算法的知识系统的回忆一下,但由于时间的原因,再加上我一直都很喜欢排序算法的思想。近期主要就排序这个问题做一个系统的介绍:冒泡排序,简单选择排序,直接插入排序,希尔排序,快速排序,归并排序,堆排序,基数排序。排序的稳定性:假设 ,在排序前的序列中第i记录领先于第j个记录。如果排序后第i记录仍转载 2017-10-02 15:49:31 · 531 阅读 · 0 评论 -
前缀、中缀、后缀表达式
关键字:概念, 前缀表达式, 前缀记法, 中缀表达式, 中缀记法, 波兰式, 后缀表达式, 后缀记法, 逆波兰式它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例:(3 + 4) × 5 - 6 就是中缀表达式- × + 3 4 5 6 前缀表转载 2017-09-27 22:12:04 · 137 阅读 · 0 评论 -
Hash表
Hash表 Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组、链表以及二叉排序树等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与表中存在的记录的关键字进行比较来进行查找。这个源于Hash表设计的特殊性,它采用了函数映射的思想将记录的存储位置与记录的关键字关联起来,从而能够很快速地进行查找。1.Hash表的设计思想 对于一转载 2017-09-28 16:46:10 · 480 阅读 · 1 评论 -
希尔排序
希尔排序 概要本章介绍排序算法中的希尔排序。内容包括:1. 希尔排序介绍2. 希尔排序图文说明3. 希尔排序的时间复杂度和稳定性4. 希尔排序实现4.1 希尔排序C实现4.2 希尔排序C++实现4.3 希尔排序Java实现转载请注明出处:http://www.cnblogs.com/skywang12345/p/3597597.html转载 2017-09-29 18:38:08 · 935 阅读 · 0 评论 -
快速排序
高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列转载 2017-09-28 21:28:19 · 150 阅读 · 0 评论 -
将字符串中的空格替换为%20
分析:若从前往后遍历字符串插入%20移动的位数较多,每经过一次空格插入后,空格后面的字符都会往后移动因此尝试从字符串后面往前面遍历,这样事先计算出需要的字符位数,再将%20插入,这样移动的位数较少public class solution {public static void main(String[] args) {StringBuffer str1 = new原创 2017-10-25 22:58:04 · 375 阅读 · 0 评论