数据结构与算法
文章平均质量分 77
goosman
111111111111
展开
-
Insert Sort & Shell Sort(插入排序和希尔排序)
算法分析:插入排序的一个扩展是希尔排序,那么运用面向对象的思想,希尔排序就是插入排序的一个泛化.反过来看,插入排序就是希尔排序的一个特化,也就是说插入排序是一种特殊的希尔排序(间距alternation为1). 插入排序的原理:假设一个数组array的前n项是有序的(从小到大),那么,它的第n+1项只需要向前遍历,当他遇到一个数据array[m]比他小的时候,那么,将array[原创 2009-04-19 13:11:00 · 2589 阅读 · 0 评论 -
从N个数中选取最大的前10个[堆排序版]
题目:从N个数中选取最大的前10个, 有序输出.N最大可能达到1000亿每个数范围是0 - 2147483647堆排序版测试结果:总计[1000000]个输入总计比较[4232804]次总计写内存[3849024]次总计耗时[0.046478s]/* * author: goosman.lei原创 2012-12-29 01:31:02 · 6848 阅读 · 2 评论 -
从N个数中选取最大的前10个[php版]
题目:从N个数中选取最大的前10个, 有序输出.N最大可能达到1000亿每个数范围是0 - 2147483647author: goosman.leimail: lgg860911@yahoo.com.cnblog: http://blog.csdn.net/lgg201php版测试结果:输入100万条原创 2012-12-28 23:52:05 · 5603 阅读 · 1 评论 -
从N个数中选取最大的前10个[C语言版]
题目:从N个数中选取最大的前10个, 有序输出.N最大可能达到1000亿每个数范围是0 - 2147483647C语言版测试结果:输入100万条总计[1000000]个输入总计比较[2001654]次总计写内存[552]次总计耗时[0.014687s]C语言版本解决方案#include #include #include #原创 2012-12-28 23:47:41 · 6380 阅读 · 0 评论 -
爱因斯坦的思考题
没怎么写过C代码, 请大家多多批评这个也不是用程序实现功能, 主要是作为辅助判断的工具题目来自这里: http://blog.csdn.net/orbit/article/details/6994575没有细看原作者的解决方案....不过根据做这个题的过程, 有下面思路可以设计程序解决:1. 设定一个肯定满足的解集(这里我们就是列出了所有的可能性)2. 将提示进行抽象, 归原创 2011-12-11 02:48:44 · 5194 阅读 · 1 评论 -
对2010支付宝西安最新笔试题的看法(大文件数值读取)..
2010支付宝西安最新笔试题..求高手给出算法和思路 题目: 有一个100G大小的文件里存的全是数字,并且每个数字见用逗号隔开。现在在这一大堆数字中找出100个最大的数出来。 谈点自己的看法吧. 1. 大文件读取, 涉及缓冲区的问题. 2. 数字用逗号隔开3. 找出最大值的数 我目前看到的问题点就在这三点, 一点一点来看 1. 大文件读取的缓冲区问题原创 2009-10-20 10:34:00 · 2477 阅读 · 0 评论 -
QuickSort(快速排序)
......呵呵,写了比较久了,一直都没有发上来,这个最终测试的效率是500万数据排序需要1.7秒 这里提供的快速排序不是可以直接应用的,如果您要使用,请修改数据类型的比较操作为compare就可以了。 首先,来看看归并算法吧。package selfimpr.datastruct.highsort;/** * * @announce Keep all cop原创 2009-05-14 21:27:00 · 1513 阅读 · 1 评论 -
RedBlackTree(红黑树)--一种自平衡(最优)的二叉搜索树算法
注: 看这个之前,先看看二叉搜索树吧. 红黑树简介:红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由Rudolf Bayer发明的,他称之为"对称二叉B树",它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且原创 2009-05-07 16:10:00 · 1886 阅读 · 0 评论 -
BinarySearchTree Implements(Java 实现的二叉搜索树算法)
二叉搜索树的删除算法的确是比较复杂的...画了一个删除算法的活动图,希望可以帮助到各位博友. 以下是关于二叉搜索树的代码,比较难懂的都在代码中有注释:节点类:Node package selfimpr.datastruct.binarysearchtree;/** * * @author selfimpr * @mail lgg860911@yahoo.com原创 2009-05-05 02:49:00 · 1729 阅读 · 0 评论 -
Double Bubble Sort(双向的冒泡排序)
算法解析: 1. flag变量记录目前排序算法的移动方向. 2. 算法在数组左右各增加一个指针,记录冒泡的始末位置. 3. 根据flag使指针进行移动,冒泡. 测试环境: Intel Pentium 4 cpu 3.01GHZ(不知被谁超频了). 内存512*2.测试结果: 1万条随机数据550毫秒左右. 算法类:package selfimpr.datastr原创 2009-04-19 12:34:00 · 1858 阅读 · 2 评论