码迷,mamicode.com
首页 >  
搜索关键字:栈 队列 数据结构    ( 69881个结果
顺序容器(幕后英雄) — heap
heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。 题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。 为了满足完全二叉树的性质,新插入的元素一...
分类:其他好文   时间:2014-07-22 23:04:53    阅读次数:363
hdu 2850 Load Balancing (优先队列 + 贪心)
题目大意: 怎么分配n个任务到m个服务器上使得负载尽量平衡。 思路: 将任务从大到小排序,依次放入负载最小的那个服务器中。 因为是spj 的缘故,所以可以使用这个贪心。 比如数据 6 2 7 5 3 3 3 3 就会得到错误答案。 #include #include #include #include #include using nam...
分类:其他好文   时间:2014-07-22 23:03:34    阅读次数:300
定长单元的批次内存缓存池的简洁实现
定长单元的批次内存缓存池的简洁实现...
分类:其他好文   时间:2014-05-01 22:13:44    阅读次数:357
GCD的队列和任务
GCD的任务1> disptach_sync 没有创建线程的欲望,就在当前线程执行 最主要的目的,阻塞并行队列任务的执行,只有当前的同步任务执行完毕后,后续的任务才能够执行 应用场景:用户登录!2> dispatch_async 有创建线程的欲望,但是创建多少条线程,取决与队列的类型GCD的队列1>...
分类:其他好文   时间:2014-05-01 20:50:56    阅读次数:434
[栈和队列]从中缀向后缀转换表达式
1 #include 2 #include 3 #include 4 #define INIT_STACK_SIZE 100 5 typedef struct 6 { 7 char * chOperator; 8 int dwtop; 9 }OPND;10 11 void I...
分类:其他好文   时间:2014-05-01 20:37:37    阅读次数:373
数据结构《17》---- Ternary Search Tree
一、 序言 上一篇文章中,给出了 trie 树的一个实现。可以看到,trie 树有一个巨大的弊病,内存占用过大。 本文给出另一种数据结构来解决上述问题---- Ternary Search Tree (三叉树) 二、数据结构定义 Trie 树中每个节点包含了 26 个指针,但有很大一部分的指针是 NULL 指针,因此浪费了大量的资源。 一种改进措施就是,以一棵树来代替上述的指针数组。...
分类:其他好文   时间:2014-05-01 17:49:30    阅读次数:326
我的软考之路(五)——数据结构与算法(3)之图
图跟树一样,也是非线性结构,咋看起来有点复杂,其实它很简单。树具有层次关系,上层元素可以与下一个多个元素连接,但是只能和上层的一个元素连接。在图结构中,节点间的连接是任意的,任何一个元素都可以与其他元素连接。        图相对而言很简单,我们只介绍的图的遍历和最小生成树,现在我们开始。 遍历 1.概念 从图中某一个顶点出发,访问图中的每一个结点,并要求只能访问一次,不能重复访问...
分类:其他好文   时间:2014-05-01 17:34:30    阅读次数:321
HDU 3410 && POJ 3776 Passing the Message 单调队列
题意: 给定n长的数组(下标从1-n)(n个人的身高,身高各不相同 问:对于第i个人,他能看到的左边最矮的人下标。(如果这个最矮的人被挡住了,则这个值为0) 还有右边最高的人下标,同理若被挡住了则这个值为0 输出n行,每个人左右2边的下标。 单调队列,对于 front - rear 的队列(注意出队都是在rear,入队也是在rear) 当加入元素x,若这队列是单调递增的,显然q.fro...
分类:其他好文   时间:2014-05-01 17:21:43    阅读次数:429
JavaScript单线程的疑问与解答
问: JavaScript是单线程的,有任务队列,比如使用setTimeou(func,secs)来在secs毫秒后向任务队列添加func。但是,setTimeout后面跟一个死循环,那么死循环导致任务被阻塞,也就是说func不能执行。 我想请教一下:死循环在执行的时候,secs毫秒过去的时候,func是否被添加到任务队列中?如果添加了,但JS是单线程的,不是在这个线程中添加的,那在哪里被添加的...
分类:编程语言   时间:2014-04-30 22:12:39    阅读次数:350
java代码面试常见的算法-mark
面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。 在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。 本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。...
分类:编程语言   时间:2014-04-30 22:11:39    阅读次数:356
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!