
数据结构
Xefvan
这个作者很懒,什么都没留下…
展开
-
数据结构之图(C++)--邻接矩阵表示(一)
数据结构之图(C++)–邻接矩阵表示(一)基本概念简单地说,图是一个用线或边链接爱一起的顶点或节点的集合。严格地说,图是有限集V和E的有序对,即G=(V,E),其中V的元素称为顶点(也称节点或点),E的元素称为边(也叫弧或线)。每一条边链接两个不同的顶点,而且用元组(i,j)来表示,其中i和j是边所连接的两个顶点。图的术语:顶点,边,邻接,关联,度,回路,路径,连通构件,生成树图的类型:无向图,原创 2016-11-18 23:06:32 · 1882 阅读 · 0 评论 -
数据结构之跳表
字典字典有一些形如字典类字典的节点// 链表节点定义template <typename K, typename E>struct pairNode{ pair<const K, E> element; pairNode<K, E>* next; pairNode() {} pairNode(const pair<const K, E>& element) : e原创 2016-10-16 22:20:10 · 602 阅读 · 0 评论 -
数据结构之栈(C++)
栈栈是一种特殊的线性表,其插入(又称入栈或压栈)和删除(又称出栈或弹栈)操作都在表的一端进行。表的两头称为栈顶和栈底例如:栈的删除操作中,删除D元素递归工作栈我们常常会用到递归函数,而计算机执行递归就是使用递归工作栈。 当一个函数被调用时,一个返回地址和被调函数的局部变量和形参的值都要存储在递归工作栈中。因此随着递归的不断调用,最先被执行的操作存储在栈的最底部,最后的操作存储在栈的顶部。当执行到递原创 2016-10-09 17:37:34 · 422 阅读 · 0 评论 -
数据结构之线性表(C++) -- 链式描述
数据结构之线性表 – 链式描述概述与数组描述不同,在链式描述中,线性表的元素在内存中的存储位置是随机的。每个元素都有一个明确的指针(链)指向线性表的下一个元素的位置(地址)链表的种类一般分为单链表,双链表和循环链表(单向或双向)。单链表单链表结构是每个节点只有一个链,例如 双链表链表中每个节点有两个链,一个指向上一个节点,一个指向下一个节点循环链表循环链表是单链表的一种变种,单链表是将尾节点置为N原创 2016-10-01 23:24:28 · 499 阅读 · 0 评论 -
数据结构之二叉树(C++)(二)
目录 (Table of Contents)二叉树的操作二叉树的完整构建续如何获取树的高度删除整颗树比较两颗树是否相等类的部分实现遍历树的高度二叉树的操作二叉树是一种特殊的树,在上一节中也介绍了树的其他形式,例如:霍夫曼树,B树等。其中,二叉树的常用操作有 1. 确定树高 2. 确定元素数目 3. 复制 4. 显示或打印二叉树 5. 确定两颗二叉树是否一样 6. 删除整颗原创 2016-09-23 01:49:21 · 517 阅读 · 0 评论 -
数据结构之二叉树(C++)(一)
数据结构之二叉树(一)目录 (Table of Contents)数据结构之二叉树一树的简单介绍树和二叉树的术语树的特点树的种类二叉树二叉树和树的根本区别二叉树的简单创建二叉树的遍历前序遍历中序遍历后序遍历层序遍历printvalue的实现抽象二叉树的实现二叉树节点的结构二叉树抽象类的构建树的简单介绍树和二叉树的术语节点的度:一个节点含有的子树的个数称为该节点的度原创 2016-09-22 14:32:41 · 2639 阅读 · 0 评论 -
数据结构之线性表(C++)---数组描述
数据结构之线性表—数组描述前面我写了几节二叉树,现在想想还是回过头来吧线性表写了概述C++里提供了强大的STL(标准模板库),而且很多大神和相关书籍多提倡我们使用STL,切勿盲目自己写,这样反而效率更低。但是在使用STL的同时,能够了解如何实现简单的STL是很爽的。C++程序常用的数据描述方式是数组描述和链式描述,而线性表可以用来说明这两种方法。STL容器大致相当于线性表的数组描述方式和链式描述方式原创 2016-09-30 22:01:23 · 2312 阅读 · 0 评论