
数据结构/算法
文章平均质量分 65
claien
这个作者很懒,什么都没留下…
展开
-
基于比较的排序总结-结合qsort&&std::sort分析
选择排序、插入排序、归并排序、堆排序、快速排序都是基于关键字比较的排序方法。但是它们各有所长和不足,具体体现在选择排序优点:它的优点在于它在排序过程中需要尽可能少内存拷贝和移动,这样如果内存拷贝时间为Tm, 比较关键字大小的时间为Tc。 当Tm >> Tc的时候也就是大块数据进行排序的时候选择排序是个好的算法。缺点:太稳定的低效使得它并不得宠。 它的复杂度稳定在O(n^2转载 2012-06-13 20:39:23 · 655 阅读 · 0 评论 -
算法时间复杂度的计算
定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数 T(n)称为这一算法的“时间复杂性”。 求解算法的时间复杂度的具体步骤是:[1] 找出算法中的基本语句:算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。[2] 计算基本语句的执行次数的数量级:这就意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,可以忽略所转载 2013-07-17 11:43:13 · 816 阅读 · 0 评论 -
算法复杂度查表
http://bigocheatsheet.com/http://blog.youkuaiyun.com/anshan1984/article/details/9079637原创 2013-09-24 15:36:12 · 1094 阅读 · 0 评论 -
A fast lock-free queue for C++
http://moodycamel.com/blog/2013/a-fast-lock-free-queue-for-c++#benchmarks// ©2013 Cameron Desrochers.// Distributed under the simplified BSD license (see the license file that// should have转载 2013-09-24 22:42:39 · 4705 阅读 · 0 评论 -
深入分析qsort库函数
转自:http://blog.163.com/okwangrong@126/blog/static/404102532009717105635509/ 正如大家所知道的,快速排序算法是现在作为数据排序中很常用的算法,它集成在ANSI C的函数库中。我们经常使用快速排序,就是调用qsort函数,那么qsort函数里面到底是怎么实现的呢?我们现在就来看一看。 在这个系列的文章中,转载 2013-11-27 21:30:22 · 1759 阅读 · 0 评论 -
排序算法要点
第一篇: 堆排序二叉堆满足二个特性:1).父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2).每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。堆排序的三个要点从小到大排序,要先建立最大堆。以构建最大堆为例1.堆调整以待排序节点开始,遍历子节点,把两个子节点值比较大的子节点向上移动。两个子节点都比该节点小,说明不用在调节了。注原创 2014-01-06 23:14:23 · 1143 阅读 · 0 评论 -
STL容器的实现原理
<br />STL共有六大组件<br /> 1、容器。2、算法。3、迭代器。4、仿函数。6、适配器。<br /> <br />STL容器的实现原理<br />STL来管理数据十分方便,省去了我们自己构建数据结构的时间.其实,STL的实现也是基于我们常见的数据结构.<br /><br />序列式容器:<br />vector-数组,元素不够时再重新分配内存,拷贝原来数组的元素到新分配的数组中。<br />list-单链表。<br />deque-分配中央控制器map(并非map容器),map记录着一系列的固定原创 2010-07-01 21:58:00 · 6724 阅读 · 2 评论 -
hlsl函数 ddx ddy
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2016-10-30 11:31:27 · 4916 阅读 · 0 评论