数据结构与算法
SimonLzw
程序设计不仅仅是人挤交互的实现,更是一种艺术的展现。
展开
-
数据结构之程序开发过程
程序开发过程就是,由实际中产生的问题,通过编写代码,让计算机来解决问题,由于问题本身有受制因素,因此需要逐步剖析问题,换言之,就是说,程序开发过程即问题的剖析过程,程序也只是让计算机代替人执行的一种工具而已。 程序开发过程 分析阶段->设计阶段-> 编码阶段-> 检查测试阶段 ->测试/调试阶段 程序开发流程图 分析阶段(需求分析):弄清楚问题,找到...翻译 2019-05-08 20:33:47 · 693 阅读 · 0 评论 -
数据结构之数据结构描述
数据结构及其分类 典型数据结构 集合:其数据元素之间没有需要关注的明确关系,之是把一组数据元素包装成为一个整体。 序列:其数据元素之间有一种明确的先后关系(是有顺序的)。序列结构及其变形如下,其特点是每个元素最多只有一个后继元素。 层次结构:其元素分属于不同的层次,一个上层元素可以关联一个或者下层元素,只从上层到下层,允许跨层。 树形结构:属于层次结构,其特...翻译 2019-05-10 22:49:12 · 6861 阅读 · 0 评论 -
数据结构之链接表
链接表表示一种基于链接结构的线性表,链接表实现的思想如下。 将表中的元素分别存储在一批独立的存储块里。 表结构中的结点都能找到与之相关的下一个结点。 在前一结点里用链接的方式显式的记录与下一节点之间的关联。 链表(简单) 单链表的结点可用一个二元组来表示(elem,next),elem保存着表的数据项,next存储着下一个结点的标识。用到一个表时,只要知道这个表的首结点就可以寻根...原创 2019-05-24 19:09:08 · 5378 阅读 · 0 评论 -
数据结构之抽象数据类型
抽象数据类型(ADT)概念 以面向对象编程为例,在创建一个对象的时候,要给定这个对象有哪些属性以及行为,并且可以通过一套接口描述说明这个对象用来干什么的,在给定输入的时候,产生相应的结果,并不需要知道其内部实现的具体细节。其基本思想是,把数据定义为抽象的对象集合,并赋予它们合法操作,同时,不暴露其数据的表示细节和操作的实现细节。 通常对数据类型的操作可以分为三类 构造操作:依...原创 2019-05-12 22:28:09 · 2639 阅读 · 0 评论 -
数据结构之顺序表
线性表的概念以及性质 线性表是最基本的数据结构之一,它是一组元素(序列)的抽象,抽象的来看线性表,可以类比成一个集合里面的有穷序列,这个序列中的元素都有一个确定的位置,即元素的下标,通常下标都是从0开始编号,这个线性表代表了某类元素的一个集合,同时也记录了元素之间的关系,不包含任何元素的表称为空表。 表中的元素个数称为表的长度;在一个非空的线性表中,存在着唯一一个首元素和唯一一个尾元素,除首...原创 2019-05-17 00:32:25 · 309 阅读 · 0 评论 -
数据结构之串匹配算法
朴素串匹配算法 原理 ①首先从左往右匹配,逐个字符匹配。匹配字符串为p,被匹配字符串为t。 ②发现不匹配时,p沿着t顺序移动,逐个字符匹配。 ③模型及函数实现。 无回溯串匹配算法(KMP算法) 相比于暴力解决字符串匹配来说,采用“记忆式”来匹配字符串就显得更加高效了,因为前人种树,你不好好用那就式愚笨了,KMP算法就是这样一个机智的小伙子,当前...原创 2019-05-26 22:06:38 · 564 阅读 · 0 评论