月度归档:2014 年七月

c++函数设计规则注意事项(1)



c++函数设计规则注意事项(1)

6.1 参数的规则

【规则6-1-1】参数的书写要完整,如果函数没有参数,则用void 填充

  1. void SetValue(int width, int height); // 良好的[......]

Read more

c++表达式和基本语句



c++表达式和基本语句。

与零值比较

4.3.1 布尔变量与零值比较

[cpp] view plaincopy

  1. //直接使用变量名判断
  2. 推荐风格
  3. if (flag) // 表示flag 为真
  4. if (!flag) // 表示flag 为假
  5. [......]

Read more

c++数据结构与算法之堆

c++数据结构与算法之堆。

1. 概述

堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆)。它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等。

2. 堆的基本操作

堆是一棵完全二叉树,高度为O(lg[......]

Read more

c++数据结构之Treap

c++数据结构之Treap。1. 概述

同splay tree一样,treap也是一个平衡二叉树,不过Treap会记录一个额外的数据,即优先级。Treap在以关键码构成二叉搜索树的同时,还按优先级来满足堆的性质。因而,Treap=tree+heap。这里需要注意的是,Treap并不是二叉堆,二[......]

Read more

c++算法之排序算法教程

c++算法之排序算法教程。

1. 概述

排序算法是计算机技术中最基本的算法,许多复杂算法都会用到排序。尽管各种排序算法都已被封装成库函数供程序员使用,但了解排序算法的思想和原理,对于编写高质量的软件,显得非常重要。

本文介绍了常见的排序算法,从算法思想,复杂度和使用场景等方面做了总[......]

Read more

c++数据结构之AVL树

c++数据结构之AVL树。1. 概述

AVL树是最早提出的自平衡二叉树,在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. Landis。AVL树种查找、插入和删除在平均和最坏情况下都是O(log[......]

Read more

数据结构之位图图文教程

数据结构之位图图文教程。1.  概述,位图(bitmap)是一种非常常用的结构,在索引,数据压缩等方面有广泛应用。本文介绍了位图的实现方法及其应用场景。

2. 位图实现

(1)自己实现

在位图中,每个元素为“0”或“1”,表示其对应的元素不存在或者存在。

[......]

Read more

数据结构与算法之排列与组合算法

数据结构与算法之排列与组合算法。1. 前言,本文介绍了常用的排列组合算法,包括全排列算法,全组合算法,m个数选n个组合算法等。

2. 排列算法

常见的排列算法有:

(A)字典序法

(B)递增进位制数法

(C)递减进位制数法

(D)邻位对换法

(E)递归法[......]

Read more