算法与数据结构

C#设计模式-访问者模式

一、 访问者(Vistor)模式 访问者模式是封装一些施加于某种数据结构之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保存不变。访问者模式适用于数据结构相对稳定的系统, 它把数据结构和作用于数据结构之上的操作之间的耦合度降低,使得操作集合可以相对自由地改变。 数据结构的每一个节点都可以接受一个访问者的调用,此节点向访问者对象传入节点对象...

《大话数据结构》第一章 数据结构绪论

一、数据结构起源 数据结构:是相互之间存在在一种或多种特定关系的数据元素的集合。 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。 程序设计=数据结构+算法 二、基本概念和术语 1、数据 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据的类...

数据结构之线性表的链式存储结构

一、基本概念 链式存储 :用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性表简称线性链表。存储链表中结点的一组任意的存储单元可以 是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。 为了正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其直接后继结点的地址(或位置),称为指针(pointer)或链(link),...

第一章 绪论

1.1数据结构的讨论范畴 Pascal语言的创始人 Niklaus Wirth 教授提出过大名鼎鼎的程序设计公式                                                                                     Algorithm + Date_Structures = Programs...

【学习总结】《大话数据结构》- 第6章-树

【学习总结】《大话数据结构》- 总 第6章树-代码链接 启示: 树 目录 6.1 开场白 6.2 树的定义 6.3 树的抽象数据类型 6.4 树的存储结构 6.5 二叉树的定义 6.6 二叉树的性质 6.7 二叉树的存储结构 6.8 遍历二叉树 6.9 二叉树的建立 6.10 线索二叉树 6.11 树、森林与二叉树的转换 6.12 赫夫曼树及其应用 6...

数据结构---公交线路提示系统05(内附读取表格+迪杰斯特拉算法Java代码)

今天做的最多的事情就是纠错了,通过添加输出语句判断错误来源; 找到错误来源: wb = new XSSFWorkbook(input);//语句创建错误 网上查询发现是jar包的问题; 下图为poi的jar包各个用途:(本人需要的是excel) 读取表格:...

数据结构笔记五:树与二叉树

目录 树 树的基本概念 树的性质 树的存储结构 双亲表示法(顺序存储) 孩子表示法(顺序+链式) 孩子兄弟表示法 树、森林的遍历 树的先根遍历 树的后根遍历 树的层次遍历 森林的先序遍历 森林的中序遍历 总结 二叉树 二叉树的基本概念 几种特殊的二叉树 二叉树的性质 二叉树的存储结构 顺序存储 链式存储 遍历算法 先序遍历...

数据结构基础温故-4.树与二叉树(下)

上面两篇我们了解了树的基本概念以及二叉树的遍历算法,还对二叉查找树进行了模拟实现。数学表达式求值是程序设计语言编译中的一个基本问题,表达式求值是栈应用的一个典型案例,表达式分为前缀、中缀和后缀三种形式。这里,我们通过一个四则运算的应用场景,借助二叉树来帮助求解表达式的值。首先,将表达式转换为二叉树,然后通过先序遍历二叉树的方式求出表达式的值。 一、二叉树如...

【转载】数据结构之图(存储结构、遍历)

一、图的存储结构 1.1 邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: 看一个实例,下图左就是一个无向图。 从上面可以看出,无向图的边数组是一个对称矩阵。所谓对称矩阵就是n阶矩阵的元满足aij= aji。即从矩...

【数据结构与算法】用go语言实现数组结构及其操作

引言   数组结构是一种很常见的数据结构,并且在大部分编程语言中都存在,这些语言都提供了现成的可以立马就能使用的数组这种数据结构。为了更好的理解数组,这边文章就是来实现数组。 数组的特点   1.内存中数据之间紧密排列在一起。   2.新增元素需要开辟内存空间用以存放新的元素。   3.新增元素时候,如果新增的元素在其他元素中间,那么该新增元素的位置后面所...