- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 const和指针不得不说的事
可以说,指针是写代码的人无可避免的一个坎,而指针遇上const则有各种难解难分的关系,下面将其一层一层拆开。 1 两种交互类型 指针和const限定符之间,不外乎两种交互类型: 指向const对象的指针const指针 2 可能的组合 在详细描述这两种类型前,先给出一些可能的组合方式: char *p const char *p char const *p char *cons
2013-11-21 15:54:32 634
原创 最大最小堆
1 最大最小堆定义 堆的定义是:n个元素的序列{k1,k2,…,kn},当且仅当满足如下关系时被称为堆 (1)Ki 2i 且 ki 2i+1 或 (2) Ki >= k2i 且 ki >= k2i+1 (i = 1,2,…[n/2]) 当满足(1)时,为最小堆,当满足(2)时,为最大堆。 若将序列对应成二叉树,便是一颗完全二叉树,2i和2i+1节点分别是节点i的左右子节点
2013-11-19 17:19:37 671
转载 HashMap与Hashtable的区别
HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。 1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。 2.Ha
2013-11-05 16:27:10 314
转载 二叉查找树
二叉查找树 二叉查找树或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树 #include #include typedef struct treeNode { int m_nValue; struc
2013-11-02 21:14:26 341
原创 归并排序
归并排序 归并排序,基本思路就是将数组分成二组A,B,如果这二组组内的数据都是有序的,那么就可以很方便的将这二组数据进行排序。为了让这二组数据有序,可以将A,B组各自再分成二组,依次类推,当分出来的小组只有一个数据时,可以认为这个小组组内已经达到了有序,然后再合并相邻的二个小组就可以了。这样通过先递归的分解数列,再合并数列就完成了归并排序。 归并排序有两种实现方法:自底向上和自顶向下 自底向
2013-10-31 15:26:52 294
原创 快速排序
快速排序 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 以数组首元素为主元的快排实现: void quickSort_s
2013-10-30 16:50:33 450
原创 二叉树学习笔记
二叉树是树的一种特殊结构,也是一种极为重要的树,二叉树最重要的操作是遍历,即按照一定的顺序访问树中的所有节点,常见的遍历方式有: 前序遍历中序遍历后序遍历
2013-10-28 14:36:45 353
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人