随笔分类 - 算法与数据结构
摘要:队列是一种 先进先出(First In First Out,FILO) 的种线性数据结构 。 代码是在动态数组二次封装,先阅读底层实现体验更佳 Array.h 点它 代码清单 #ifndef C___ARRAYQUEUE_H #define C___ARRAYQUEUE_H #include "Ar
阅读全文
摘要:栈 栈是一种线性结构,相比与数组,栈对应的操作时数组的子集,只能从一端添加元素,也只能从一端取出元素,是一种 后进先出(Last In First Ou,LIFO) 的数据结构。 push pop 代码底层是动态数组,先阅读这篇文章更佳 Array.h 点它 栈应用之括号匹配 include"Arr
阅读全文
摘要:Array 存储具有一对一逻辑关系数据的存储顺序结构。 数组最大的优点:快速查询,最好应用于索引有语义的情况。 插入元素 template<typename T> bool Array<T>::add(const int index, const T& e) { if (index<0 || ind
阅读全文
摘要:图 1. 图的定义 图(graph) 是由一些 点(vertex) 和这些点之间的连 线(edge) 所组成的;其中,点通常称为 顶点(vertex) ,而点到点之间的连线通常称之为 边 或者 弧(edge) 。通常记为G=(V,E); 要注意的是:线性表可以是空表,树可以是空树,图不可以是空图,图
阅读全文
摘要:树 本质问题 树 不是线性表,是一种描述非线性 层次关系 的数据结构。描述的是一对多的数据结构。 1. 树的定义 树(Tree)的基本概念 树是由结点或顶点和边组成的(可能是非线性的)且不存在着任何环的一种数据结构。没有结点的树称为空(null或empty)树。一棵非空的树包括一个根结点,还(很可能
阅读全文