Invoker's Tower

Hello Unknown World!

冒泡排序、插入排序、选择排序、希尔排序、堆排序、归并排序等常用排序算法的比较

掌握好常用的排序算法,在实际的项目开发中可以节省很多的时间。每一种排序算法在执行的效率上是存在差别的,这些微小的时间差,也许在平常的联系当中感觉不到,但是涉及到数据量比较大或者是在资源比较紧张的系统中就显得尤其的重要,比如嵌入式系统。下面简要介绍三种常用的排序算法以及他们的执行效率的比较。    ...

2015-04-24 16:49:21

阅读数 8001

评论数 0

二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)的比较

我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势: (1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的形...

2015-04-24 16:48:07

阅读数 1171

评论数 0

算法概念:大O表示法/小o表示法/Ω/Θ

如果算法A需要的时间与f(n)成正比,则算法A称为f(n)阶,表示为O(f(n))。函数f(n)称为算法的增率函数(growth-rate function)。该表示法使用大写字母O来表示(order),故称大O表示法。若规模为n的问题需要的时间与n成正比,则问题表示为O(n),即n阶。若需要...

2015-04-24 16:34:40

阅读数 14699

评论数 2

栈和二叉树--中缀/后缀表达式的相互转换

中缀表达式与后缀表达式 中缀表达式(或中缀记法)是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。 与前缀表达式(例:+ 3 4)或后缀表达式(例:3 4 +)相比,中缀表达式不容易被计算机解析,...

2015-04-20 22:20:53

阅读数 3091

评论数 0

C++中的临时对象用法总结

C++中有这样一种对象:它在代码中看不到,但是确实存在。它就是临时对象---由编译器定义的一个没有命名的非堆对象(non-heap object)。为什么研究临时对象?主要是为了提高程序的性能以及效率,因为临时对象的构造与析构对系统性能而言绝不是微小的影响,所以我们应该去了解它们,知道它们如何造成...

2015-04-14 22:20:21

阅读数 551

评论数 0

C++ 将对象的构造和析构函数声明为Protected的结果

在看代码的过程中,有时会发现析构函数被定义成virtual,有一些没有定义成virtual但被放置于protected下。网上搜了下了解了原因,下面是较好的解答: 1、如果一个类被继承,同时定义了基类以外的成员对象,且基类析构函数不是virtual修饰的, 那么当基类指针或...

2015-04-14 21:53:21

阅读数 1390

评论数 0

C++ 六种特殊成员函数

C++定义了几种只能作为类成员函数说明的函数,它们称为“特殊成员”函数。这些函数影响着给定类对象创建、删除、拷贝以及转换成其它类型对象的方法。这些函数的另一个重要的特性是它们可以由编译器隐含调用。 这些特殊的函数在下表中简要描述: 构造函数。 启用对象的自动初始化。...

2015-04-14 21:17:14

阅读数 2232

评论数 0

C++继承关系中Data Member和Functions Member的内存布局(基于C++ Object Model描述)

C++继承关系中的动态内存分配从四种情况分析考虑: 1. 单一继承且无虚函数的对象模型 例: class A { public:     int foo( )  {    return  val ;    }     static int staFun( )  {     return  s...

2015-04-14 16:49:28

阅读数 534

评论数 0

C++ Object Model:Default Memberwise Initialization/bitwise copy semantics及深拷贝/浅拷贝

Default Memberwise Initialization和bitwise copy semantics的区别 当class object是以“相同class的另一个object“作为初值时,其内部是以所谓的default memberwise initializatio...

2015-04-14 15:05:28

阅读数 822

评论数 0

C++ Object Model: Default Constructor

C++ Annotated Reference Manual 说:“Default Constructor 在需要的时候被编译器产生出来。”   关键字眼是 “在需要的时候”。被谁需要?做什么事情? “在需要的时候”:这里一个是程序的需要,一个是编译器的需要。 ...

2015-04-14 15:03:30

阅读数 560

评论数 0

C++ Object Model:C++对象模型

首先看下Point类 class Point { public: Point( float xval ); virtual ~Point(); float x() const; static int PointCount(); protected: virtua...

2015-04-14 15:02:26

阅读数 478

评论数 0

《Effective C++》读书摘要

来源: http://www.cnblogs.com/fanzhidongyzby/archive/2012/11/18/2775603.html>  最近刚读完侯捷的《Effective C++》,相对来说,这本书的内容比较贴近基础,对于刚掌握C++基础的人会有不少的提高。不过书中还是涉...

2015-04-13 22:13:13

阅读数 1402

评论数 0

C++ STL中的自定义Allocator

来源: http://www.cnblogs.com/wpcockroach/archive/2012/05/10/2493564.html> 说一说C++里的allocator。我们知道,C++ STL里定义了很多的容器(containers),每一个容器的第二个模板参数都是allo...

2015-04-11 16:11:46

阅读数 4106

评论数 0

C++ Standard Library/std/STL/ATL/WTL的区别与联系

0. Standard Library C++标准库,C++ Standard Library,是类库和函数的集合,其使用核心语言写成,由c++标准委员会制定,并不断维护更新。 简单的来说除了支持文件之外C++   标准库主要包含了三个部分:C   标准库的   C++   版本;C++ ...

2015-04-11 15:14:37

阅读数 1802

评论数 1

C++ STL编程初步摘抄笔记:using stl/30分钟学会STL

网贴侵删,大爱无疆,知识无界。 来源: http://net.pku.edu.cn/~yhf/UsingSTL.htm> 这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以花了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内...

2015-04-10 21:49:59

阅读数 1295

评论数 0

C发展史:K&R C/C89/C99/C11 以及 C++发展史: C++98/C++03/C++11

C语言的发展阶段 C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。 1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming La...

2015-04-10 21:00:22

阅读数 7549

评论数 0

C++11新特性(原封不动转载待查)

C++11标准发布已有一段时间了, 维基百科上有对C++11新标准的变化和C++11新特性介绍的文章. 我是一名C++程序员,非常想了解一下C++11. 英文版的维基百科看起来非常费劲,而中文版维基百科不是知道是台湾还是香港人翻译的然后由工具转换成简体中文的,有些术语和语言习惯和大陆程序不一样! ...

2015-04-09 22:11:28

阅读数 878

评论数 0

C++ RTTI特性:typeid/dynamic_cast及常用四种类型转换运算符

一、定义:RTTI:Run Time Type Identification ,运行时类型识别:指程序能够使用基类的指针或引用来检索其所指对象的实际派生类型。 二、使用方式:C++中有两个操作符提供RTTI: (1)typeid 操作符:返回指针或引用所指对象的实际类型。 (2)dynamic_c...

2015-04-09 21:22:11

阅读数 759

评论数 0

C++友元简介:友元函数,友元类和友元成员函数

友元简介: C++为了保证类的封装性,使私有部分和保护部分对外不可见,公有部分提供唯一的访问途径。(基类的保护部分在public,protected方式的派生类中,也对外提供访问途径,在派生类中访问权限同公有部分)。 但这样的限制太严格,以至于不适合特定的编程,因此,C++提供了另一种形式的访...

2015-04-09 16:50:14

阅读数 791

评论数 2

c++继承中的内存布局(转载)

今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。 ——谈VC++对象模型 (美)简.格雷 程化    译 译者前言 一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的...

2015-04-09 16:19:40

阅读数 571

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭