数据结构与算法
Luxury奢华家
这个作者很懒,什么都没留下…
展开
-
经典算法--快速排序
原文章有几处错误之处,现修正版本如下:快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,快速排序思想----分治法。快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大...转载 2016-08-27 10:40:05 · 460 阅读 · 0 评论 -
各类排序算法的对比及实现
这里所有的实现都是以升序为例,这里是探讨排序的算法,为了简洁,全部都用int,暂不考虑在定义类型直接插入排序:直接排序就是假定前面的数都是有序的,然后将一个数插入到前面有序的这个序列中,当从第一个开始时,就保证了这个数组要排序的数的前面的序列都是有序的[cpp] view plain copy vo转载 2016-09-09 10:09:57 · 398 阅读 · 0 评论 -
刷题
简单001.尾部的零(Trailing Zeros) 描述:设计一个算法,计算出n阶乘中尾部零的个数(Write an algorithm which computes the number of trailing zeros in n factorial.)样例 11! = 39916800,因此应该返回 2代码:class So原创 2016-08-26 10:32:37 · 280 阅读 · 0 评论 -
时间复杂度
算法时间复杂度的计算常常说快速排序的算法时间复杂度为O(nlogn),但是这个值是怎么算出来的,为什么就是O(nlogn);很多书上一上来就大谈特谈那么多理论,我实在是受不了,我是看不懂,我不知道作者自己懂不懂,深刻的表示怀疑!就拿这个logn来说,我隐隐记得在高中学的时候,这个底数省略的话就是默认10,查了资料也确实是10,但是貌似我们讲算法书上的意思都是以2为底转载 2016-08-26 23:48:27 · 637 阅读 · 0 评论 -
数据结构-树
名词解释 树这个数据结构用到了递归的概念:树的子树还是树;度:节点的子树个数;树的度:树中任意节点的度的最大值;兄弟:两节点的parent相同;层:根在第一层,以此类推;高度:叶子节点的高度为1,根节点高度最高;有序树:树中各个节点是有次序的;森林:多个树组成; 树的表示法 1.双亲表转载 2016-09-08 18:27:35 · 289 阅读 · 0 评论