【数据结构】
空空的司马
微信搜『程序员加油站』,回复『pdfs』获取优质电子书
展开
-
【数据结构】树
1、树的定义 树(Tree)是n个结点(元素的有限集合)。当n=0时,称这棵树为空树。在非树T中:(1)有且只有一个特殊的结点称为树的根结点(root),根结点没有前驱结点。(2)当n>1时,除了根结点之外的其余的结点又被分成m个互不相交的子集。每个子集本身又是一棵树,这些树称为根结点的子树。2、相关的术语(1)结点的度、树的度结点的度:结点所拥有所有原创 2015-12-24 19:22:05 · 3402 阅读 · 1 评论 -
【数据结构】红黑树基础
1、红黑树红黑树是一种自平衡二叉搜索树,在实际应用中有很广泛的用途。STL中的set, multiset, map, multimap的底层均是由红黑树实现的。红黑树有一下4个特性:(根据后面的例子看以下几个特性)1、红黑树中的每一个节点不是黑色就是红色;2、根节点(root)和叶子(叶子节点的孩子节点NIL)是黑色的;3、如果一个节点为红色,那么它的父节点原创 2016-03-17 11:34:57 · 1819 阅读 · 1 评论 -
【数据结构】线性表(数组实现)
1、线性表2、线性表的抽象数据类型描述3、线性表的数组描述按照上述抽象描述,定义一个模板类来描述上述的抽象描述。templateclass LinearList{public: LinearList(int MaxListSize = 10); //构造函数 ~LinearList() //析构函数 {原创 2016-03-08 16:25:41 · 2955 阅读 · 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 · 1892 阅读 · 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 · 924 阅读 · 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 · 914 阅读 · 0 评论