- 博客(8)
- 资源 (13)
- 收藏
- 关注
原创 快速排序详解,附源码
一、基本思想:通过一趟排序,将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序,以达到整个序列有序 二、排序过程: 对r[s……t]中记录进行一趟快速排序,附设两个指针i和j,设枢轴记录rp=r[s],x=rp.key 1.初始时令i=s,j=t 2.首先从j所指位置向前搜索第一个关键字小于x的记录,并和rp交换
2012-08-31 18:42:38 1060
原创 面试题:n个整数的序列,其中一个整数重复次数超过一半,在O(n)时间内找出该整数
先列出2个牛人给出的较好的答复 方法1:既然过半,那么用这个数与其他数配对的话,剩余的数字一定还是过半的这个数字。因此可以通过不断删除不同的2个数,直到没有不同的2个数,那么这个数就是要找的数。 证明:最坏情况下,只有这个数同别的数配对,并且被删除,剩下的仍旧是这个数,因此得证。 链接:http://blog.163.com/xie_wenbin613/blog/static/1754890
2012-08-31 17:40:05 4048
原创 堆排序以及其应用大总结
教材上很详细,网上内容也不少,但感觉不够直观、简练、丰富。下面按照自己方式总结下。 提纲: 1)算法描述 2)代码 3)“三围”以及证明(复杂度、效率、稳定性等分析) 4)算法直接应用 5)算法原理应用 6)举例 一、算法描述: 堆概念(数据结构):堆是一颗完全树,同时满足每个节点均大于或小于它的子节点,这样的数据结构被称为最大堆或者最小堆。很多博客里面说是一个完
2012-08-29 01:52:19 20258 1
转载 内存对齐不错的文章
老规矩提供链接吧!http://hi.baidu.com/oxionghuichina/blog/item/f812ad34c2f0a205eac4affd.html
2012-08-28 00:32:35 667
原创 大数相乘之个人分析
今天有空研究下大数相乘,按照个人习惯在看别人的算法之前,我还是习惯自己先研究一番。 先解释下何为大数相乘,所以大数相乘即由于乘数和被乘数以及相乘结果超过语言级自带的范围时,或者有严格的精度要求时的计算。例如2个30多位的数字相乘。 很多人给出的大致算法是使用程序模拟手工计算乘法,这里主要涉及频繁的进位,对齐。我仔细分析了下发现还是有很多技巧可以提升的。下面是具体的分析过程:
2012-08-25 17:32:34 1033
转载 Linux下软件的安装与卸载(2)
Linux下软件的安装与卸载 在 Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序 (uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而 Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常
2012-08-10 15:22:14 645
转载 Linux 中如何卸载已安装的软件(1)
Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序 ” 来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行 下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信
2012-08-10 15:21:08 1317
转载 理解 pkg-config 工具
你在 Unix 或 Linux 下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。 “Hi,怎么编译不过去?”你还沉浸在那种美妙的感觉之中,双臂充满着力量,似乎没有什么问题能难倒你的。正在此时,那个笨蛋已经冲着你嚷开了。
2012-08-08 22:25:51 569
valgrind 介绍
2012-11-27
Oracle语句优化53个规则详解
2010-10-28
OTL 编程指南
2009-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人