08 2016 档案
摘要:。。
阅读全文
摘要:问题1描述 给一个已经排序的数组,其中有N个互不相同的元素。要求使用最小的比较次数找出其中的一个元素。(你认为二分查找在排序数组里找一个元素是最优的算法的吗?) 不需要太多的理论,这是一个典型的二分查找算法。先看下面的代码: 理论上,我们最多需要 logN+1 次比较。仔细观察,我们在每次迭代中使用
阅读全文
摘要:3.堆的操作的复杂度 堆的两种操作所花的时间都和树的深度成正比。因此,如果一共有n个元素,那么每个操作可以在O(logN)的时间内完成。
阅读全文
摘要:1、什么是优先队列 能够完成下列两种操作的数据结构,我们便称之为优先队列。 ①插入一个数值 ②取出最大(或者最小)的数值(获取数值,并且删除)。 从严格意义上来说优先队列,并不是队列,因为它并不遵循队列的FIFO(先进先出的原则)。 2、实现优先队列 我们可以使用一种叫做“堆(heap)”的数据结构
阅读全文
摘要:回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon” 等等就是回文串。 回文子串,顾名思义,即字符串中满足回文性质的子串。 经常有一些题目围绕回文子串进行讨论,比如 HDOJ_3068_最长回文,求最长回文子串的长度。朴素算法是依次以每一个字符为中心向两侧进行扩展
阅读全文
摘要:归并排序是一个分治算法。归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。merg() 函数是用来合并两个已有序的数组. 是整个算法的关键。看下面的描述对mergeSort函数的描述: 时间复杂度:O(
阅读全文
摘要:VMware Workstation中安装虚拟机Ubuntu后,开始都不能与主机实现共享,即相互之间能实现复制粘贴的功能。要解决问题,只需要安装VMvare tools后然后重启虚拟机Ubuntu即可。在windows虚拟机下,在安装该工具时有安装向导,但在Linux系统(Ubuntu)下需要通过t
阅读全文
摘要:昨天刚全新在虚拟机上安装了Ubuntu 14.04,在其中安装的gcc版本是4.8.4。而我需要编译C++程序,在安装之后,我立刻就通过命令: 安装了make、g++等。build-essentail是一整套开发工具。安装后,可以使用命令 g++ –version查看安装是否成功。 诚然,g++4.
阅读全文
摘要:刚装的ubuntu视频可能看不了,因为浏览器flash插件没安装。 1.打开终端 2.执行如下命令”sudo apt-get update“ 3.然后执行”sudo apt-get install flashplugin-nonfree“ 4.选择Y之后,即开始安装
阅读全文
摘要:Given an infinite number line from -INFINITY to +INFINITY and we are on zero. We can move n steps either side at each n’th time. Examples: This proble
阅读全文
摘要:问题 对于普通的二叉树,如何找到两个给定节点之家的距离?距离是指连接两个节点需要的最小的边的条数。 例如下面的二叉树: 这个问题很全面的考察了二叉树相关的知识,建议大家先尝试自己解决~ 分析 假设给定的节点为node1, node2,可以分为下面两种情况: 1) node1是node2的祖先节点或孩
阅读全文
摘要:计算机科学中,有一些关于多项式求值的问题。对于多项式求值问题,我们最容易想到的算法是求出每一项的值然后把所求的值累加起来,这种算法的时间和空间效率都不高,对于数据规模不大的题目来说由于其直观、简单很容易被大家采纳,可一旦数据规模过大时,这种算法就显得无能为力了,下面介绍一种解决这类求值问题的高效算法
阅读全文
摘要:http://www.cnblogs.com/graphics/archive/2010/06/21/1752421.html
阅读全文
摘要:美国社会心理学家费斯汀格(Festinger),有一个著名的理论,即被人们称为的“费斯汀格法则”:生活中的10%是由发生在你身上的事情组成,而另外的90%则是由你对所发生事情如何反应所决定的。 费斯汀格在书中举了一个例子。卡斯丁早上起床后洗漱时,随手将自己的高档手表放在洗漱台边,妻子怕手表被水淋湿了
阅读全文