![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
麦兜NC粉
弱水三千偶只取一瓢饮
展开
-
深度优先遍历算法--非递归实现
深度优先遍历算法--非递归实现前言最近在看算法,拜读了CSDN大神的博文,深感大神就是犀利,只能膜拜了。同时为了与我的健忘症对斗争,有必要将学到的东西记下来。在图算法中,广度优先遍历算法和深度优先遍历算法是比较重要的算法,同时也是比较基础的搜索算法。算法思想 广度优先遍历算法( Breadth-First Search) :在给定图 G = ( V , E ) 和一个特定的源顶原创 2013-07-09 18:46:00 · 6513 阅读 · 0 评论 -
深入理解成员函数的重载、隐藏、覆盖规则(一)
本文作者:islwj本文出处:http://blog.csdn.net/islwj声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明信息. 谢谢. 看了林锐博士的《高质量C++/C编程指南》,受益非浅。 其中的“成员函数的重载、覆盖、隐藏 ”这一节点出了一些本质的东西,可能因为博士处一个比较高的位置,对一些转载 2013-09-02 20:42:36 · 597 阅读 · 0 评论 -
判断单链表是否存在环,判断两个链表是否相交问题详解
判断单链表是否存在环,判断两个链表是否相交问题详解 原文地址: http://www.cppblog.com/humanchao/archive/2008/04/17/47357.html有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链转载 2013-08-28 16:49:38 · 586 阅读 · 0 评论 -
程序员面试题精选100题(49)-复杂链表的复制[算法]
程序员面试题精选100题(49)-复杂链表的复制[算法] 题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。其结点的C++定义如下: struct ComplexNode{ int m_nValue; ComplexNode* m_pNext转载 2013-08-28 10:01:59 · 570 阅读 · 0 评论 -
C++内存管理学习笔记(1)
/****************************************************************//* 学习是合作和分享式的!/* Author:Atlas Email:wdzxl198@163.com /* 转载请注明本文出处:* http://blog转载 2013-08-15 23:12:42 · 598 阅读 · 0 评论 -
GC in C++
出处 : Venus神庙 转载请注明出处GC in C++前段时间看了一些关于GC的论文、书和源码。源码指的是Boehm的保守GC ,论文也主要是围绕这个GC相关的算法,另外还包括一些survey和性能分析的论文。而其他关于GC的一些东西主要是从其他两本书上看来,一本是谢之易老大翻译的垃圾收集 ,目前唯一一本关于GC算法的书,还有就是仔细阅读了C# via CLR 中转载 2013-08-09 20:42:14 · 744 阅读 · 0 评论 -
vector的内存管理
内存管理Vector 是STL中最常见的容器, 它占用的是一块连续分配的内存 ,vector是动态分配空间的。vector 管理的是一块线性的、可动态增长的内存。随着元素的不断增加,,它会按照自身的一套增长机制不断扩充自身的容量。一般来讲,如果容量不够时,它会将现有容量扩大一倍。由于Vector 容器分配的是一块连续的内存空间, 当需要扩容时,它会在内存中重新分配一块比现有内存大一倍的内存原创 2013-08-20 22:57:26 · 1982 阅读 · 0 评论 -
C++ 格式化输出
C++ 格式化输出参考 CPLUSPLUS1 scientificscientific 与 fixed 的区别,请看代码,一目了然。#include // std::cout, std::fixed, std::scientificusing namespace std;int main () { double a = 3.1415926534原创 2013-08-04 18:57:49 · 1334 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别 (转贴)作者 任我行非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程转载 2013-07-27 19:02:00 · 712 阅读 · 0 评论 -
堆排序
( 二叉 ) 堆数据结构是一种数组对象,它可以被视为一颗完全二叉树。树中每个节点与数组中存放该节点值的那个元素对应。数的每一层都是填满的,最后一层可能除外。表示堆的数组A是一个具有两个属性的对象:length [ A ] 是数组中的元素个数,heap-size [A] 是存放在A 中的堆的元素个数。根据完全二叉树的性质,我们可以总结出如下性质:数的根为A [ 1 ] ,对于某个结点的下标 i ,其父节点为 Parent[i] = i/2 ,左孩子 Left[ i ] = 2*i ,右孩子 Right[ i原创 2013-07-30 13:13:09 · 1158 阅读 · 0 评论 -
快速排序
快速排序是一种高效排序算法,对包含 n 个数的输入数组,最坏情况下运行时间为 O ( n2 ),虽然这个最坏情况运行时间比较差,但快速排序算法通常是用于排序的最佳的实用选择,因为其平均性能相当好:期望时间为 O ( n lg n) ,且 O ( n lg n) 记号中隐含的常数因子很小。快速排序采用了分治的思想。它的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。原创 2013-07-30 19:34:27 · 1120 阅读 · 0 评论 -
C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2013-07-16 22:50:19 · 553 阅读 · 0 评论 -
深入理解成员函数的重载、隐藏、覆盖规则(二)
本文作者:islwj本文出处:http://blog.csdn.net/islwj声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明信息. 谢谢 林锐博士对覆盖规则的定义如下: (1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有virt转载 2013-09-02 20:43:41 · 551 阅读 · 0 评论