
【数据结构】
空空的司马
微信搜『程序员加油站』,回复『pdfs』获取优质电子书
展开
-
【数据结构】树
1、树的定义 树(Tree)是n个结点(元素的有限集合)。当n=0时,称这棵树为空树。 在非树T中: (1)有且只有一个特殊的结点称为树的根结点(root),根结点没有前驱结点。 (2)当n>1时,除了根结点之外的其余的结点又被分成m个互不相交的子集。每个 子集本身又是一棵树,这些树称为根结点的子树。 2、相关的术语 (1)结点的度、树的度 结点的度:结点所拥有所有原创 2015-12-24 19:22:05 · 3433 阅读 · 1 评论 -
【数据结构】红黑树基础
1、红黑树 红黑树是一种自平衡二叉搜索树,在实际应用中有很广泛的用途。STL中的set, multiset, map, multimap的底层均是由红黑树实现的。 红黑树有一下4个特性:(根据后面的例子看以下几个特性) 1、红黑树中的每一个节点不是黑色就是红色; 2、根节点(root)和叶子(叶子节点的孩子节点NIL)是黑色的; 3、如果一个节点为红色,那么它的父节点原创 2016-03-17 11:34:57 · 1841 阅读 · 1 评论 -
【数据结构】线性表(数组实现)
1、线性表 2、线性表的抽象数据类型描述 3、线性表的数组描述 按照上述抽象描述,定义一个模板类来描述上述的抽象描述。 template class LinearList { public: LinearList(int MaxListSize = 10); //构造函数 ~LinearList() //析构函数 {原创 2016-03-08 16:25:41 · 2996 阅读 · 0 评论 -
【数据结构】线性表(链表实现)
#ifndef __CHAIN_H__ #define __CHAIN_H__ #include using namespace std; //VS平台下自己定义了nullptr = null = 0 //但是在gcc下没有定义 #ifndef nullptr #define nullptr 0 #endif /* 定义一个学生类 */ struct STU { string name;原创 2016-03-09 20:18:27 · 1906 阅读 · 0 评论 -
【数据结构】链表相关内容
写一个已序链表,也就是说在链表添加节点的时候就将元素添加到合适的位置。#include <iostream> using namespace std;struct node { int value; struct node * next; };void printnode(node* head) { while (head != NULL) { cou原创 2016-08-16 17:23:46 · 941 阅读 · 0 评论 -
【数据结构】二叉树的遍历
/* * 1.前序遍历的 递归实现和 非递归实现 * 2.中序遍历的 递归实现和 非递归实现 * 3.后序遍历的 递归实现和 非递归实现 * 4.根据两项遍历结果 重构树结构 */ #include <iostream> #include <stdlib.h> #include <stack> using namespace std;struct BTreeNode { int m_原创 2016-08-18 14:12:36 · 930 阅读 · 0 评论