heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。
题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。
为了满足完全二叉树的性质,新插入的元素一...
分类:
其他好文 时间:
2014-07-22 23:04:53
阅读次数:
363
问题:
N个人从1到N编号,围城一圈,从1开始报数, 数到X时,将X的编号输出,并将那个人踢出,
下一个从1再开始报数,直到所有人都出去
思路:
就是计数,移除,没有太深的思想,直接上代码:
package test;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**...
分类:
编程语言 时间:
2014-05-01 21:58:20
阅读次数:
393
方法1(快速,以理解,可以封装):SPList spListQuestion =
spWeb.Lists["Question List"];for (int i = spListQuestion.Items.Count - 1; i
>= 0; i--){ spListQuestion.Ite...
分类:
其他好文 时间:
2014-05-01 21:01:37
阅读次数:
448
1.python进行文件读写的函数是open或file类 mode:r 只读 r+ 读写 w
写入,先删除原文件,再重新写入,如果文件没有则创建 w+ 读写,先删除原文件,再重新写入,如果文件没有则创建(可写入和输出) a
写入,在文件末尾追加新的内容,文件...
分类:
编程语言 时间:
2014-05-01 21:00:16
阅读次数:
402
方法1:Guid guid = new Guid
("{8238B046-EC5F-46B6-8E18-028F77EC2620}");SPSite Asite = new SPSite
("http://mosslt/");SPList list = Asite.RootWeb.Lists[gui...
分类:
其他好文 时间:
2014-05-01 18:38:35
阅读次数:
290
一、 序言
上一篇文章中,给出了 trie 树的一个实现。可以看到,trie 树有一个巨大的弊病,内存占用过大。
本文给出另一种数据结构来解决上述问题---- Ternary Search Tree (三叉树)
二、数据结构定义
Trie 树中每个节点包含了 26 个指针,但有很大一部分的指针是 NULL 指针,因此浪费了大量的资源。
一种改进措施就是,以一棵树来代替上述的指针数组。...
分类:
其他好文 时间:
2014-05-01 17:49:30
阅读次数:
326
图跟树一样,也是非线性结构,咋看起来有点复杂,其实它很简单。树具有层次关系,上层元素可以与下一个多个元素连接,但是只能和上层的一个元素连接。在图结构中,节点间的连接是任意的,任何一个元素都可以与其他元素连接。
图相对而言很简单,我们只介绍的图的遍历和最小生成树,现在我们开始。
遍历
1.概念
从图中某一个顶点出发,访问图中的每一个结点,并要求只能访问一次,不能重复访问...
分类:
其他好文 时间:
2014-05-01 17:34:30
阅读次数:
321
面试也是一门学问,在面试之前做好充分的准备则是成功的必须条件,而程序员在代码面试时,常会遇到编写算法的相关问题,比如排序、二叉树遍历等等。
在程序员的职业生涯中,算法亦算是一门基础课程,尤其是在面试的时候,很多公司都会让程序员编写一些算法实例,例如快速排序、二叉树查找等等。
本文总结了程序员在代码面试中最常遇到的10大算法类型,想要真正了解这些算法的原理,还需程序员们花些功夫。...
分类:
编程语言 时间:
2014-04-30 22:11:39
阅读次数:
356