04 2017 档案
摘要:算法思想 归并排序与前面介绍过的基于交换、选择等排序的思想不一样,“归并”的含义是将两个或两个以上的有序表组合成一个新的有序表。假定待排序表含有n个记录,则可以看成是n个有序...
阅读全文
摘要:算法思想 堆排序是一种树形选择排序方法,它的特点是:在排序过程中,将L[1…n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系,在当前无...
阅读全文
摘要:算法思想 快速排序是对冒泡排序的一种改进。其基本思想是基于分治法的;在待排序表L[1….n]中任取一个元素pivot作为基准,通过一趟排序将待排序表划分为独立的两部分L[1…...
阅读全文
摘要:基本思想 冒泡排序算法的基本思想是:假设待排序表长为n,从后往前(或从前往后),两两比较相邻元素的值,若为逆序(即A[i-1]>A[i]),则交换它们,直到序列比较完。我们称...
阅读全文
摘要:上一篇博客介绍了直接插入排序,而折半插入排序就是在直接插入排序的基础上进行了一些改进,有需要的可以看一下。插入的基本思想 ①每次插入,都从前面的有序子表中查找出待插入元素...
阅读全文
摘要:插入排序的思想 插入排序是一种简单只管的排序方法,其基本思想在于每一次待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。 假设在排序过程中...
阅读全文
摘要:Hash Table基本概念 散列函数:一个把查找表中的关键字映射成该关键字对应的地址的函数,记为Hash(key)=Addr。 散列函数可能会把两个或者两个以上的关键字...
阅读全文
摘要:概念 求带权有向图中某个源点到其余各个顶点的最短路径,最常用的是Dijkstra算法。该算法设置一个集合S记录已求得的最短路径的顶点,可用一个数组s[]来实现,初始化为0,当...
阅读全文
摘要:我的个人博客所有文章链接入口,我已经做好了分类:C++分类:一些凌乱的笔记和一些总结:[C++]深入理解C++虚函数底层机制和RTTI运行时类型识别[C++]const_cas...
阅读全文
摘要:算法的概念 与Prim算法从顶点开始扩展最小生成树不同,Kruskal算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法。假设N=(V,E)是连通网,对应的最小生成...
阅读全文
摘要:前提介绍:最小生成树概念 一个连通图的生成树是图的极小连通子图,它包含图中的所有定点,并且只含尽可能少的边,这意味着对于生成树来说,就砍去使生成树变成非连通图;若给它怎家一条...
阅读全文
摘要:深度优先搜索算法的概念 与广度优先搜索算法不同,深度优先搜索算法类似与树的先序遍历。这种搜索算法所遵循的搜索策略是尽可能“深”地搜索一个图。它的基本思想如下:首先访问图中某一...
阅读全文
摘要:广度优先搜索的概念 广度优先搜索(BFS)类似于二叉树的层序遍历算法,它的基本思想是:首先访问起始顶点v,然后由v出发,依次访问v的各个未被访问过的邻接顶点w1,w2,w3…....
阅读全文
摘要:当调用一个虚函数时,被执行的代码必须与调用函数对象的动态类型相一致:指向对象的指针或引用的类型是不重要的,编译器是如何高效地提供这种行为呢?大多数编译器是使用virtual table和virtual table pointers(vtbl和vptr)。 一个v...
阅读全文
摘要:Item49:了解new_handler的行为 当operator new抛出异常以反映出一个未获得满足的内存需求之前,它会先调用一个用户制定的错误处理函数,一个所谓的...
阅读全文
摘要:首先介绍C++标准程序库中的五种迭代器,关于这个可以看我的另一个笔记:http://blog.csdn.net/m0_37316917/article/details/7005...
阅读全文
摘要:input迭代器:只能向前移动,一次一步,用户只能读取,不能修改它们所指向的东西,而且只能读取一次。output迭代器情况类似,但一切只为输出:它们只能向前移动,一次一步,用户...
阅读全文
摘要:Item41:了解隐式接口和编译期多态、 纵使你从未使用过templates,应该不陌生“运行期多态”和“编译期多态”之间的差异。因为它类似于“哪一个重载函数该被调用(发生...
阅读全文
摘要:Item 32:确定你的public继承塑膜出is-a的关系 如果你令class D以public继承class B,你便是告诉编译器说,每一个类型为D的对象同时也是一...
阅读全文
摘要:Item26:尽可能延后变量定义式的出现时间Item27:尽量少做转型动作关于这一点,专门开了一个新的总结: http://blog.csdn.net/m0_37316917/...
阅读全文
摘要:C++四种新式转型:const_cast(expression)dynamic_cast(expression)reinterpret_cast(expression)stat...
阅读全文
摘要:例子:class A{public: int a; char b;}A temp;cout<<temp.a<<endl;问题1:什么时候会合成出一个default ...
阅读全文
摘要:特点一:成员公用内存,且按所占内存最大的数据成员分配内存//举例1union A{ char a;//1个字节 int b;//4个字节 char c;//1...
阅读全文
摘要:整体而言: sort算法在数据量大时采用Quick Sort(快速排序),一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负担,就改用Inse...
阅读全文
摘要:POD意指Plain Old Data,也就是标量性别(Scalar Types)或传统的C Struct型别。POD型别必然拥有trival constructor/dest...
阅读全文
摘要:SGI STL第一级配置器:templateclass __malloc_alloc_template{...};其中:1.allocate()直接使用malloc(),dea...
阅读全文