数据结构和算法
文章平均质量分 69
水清_木秀
做我所爱,爱我所做。
展开
-
线性表及抽象数据类型
线性表定义线性表:由零个或多个数据元素组成的有限序列。所以线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。例如: 当天黑队伍解散各自回家了,队伍《梦之队》还在,只不过队伍没人,解散了。明天大家来集合,队伍又有人了。所以元素为0时,表还是有的。特点: 1、线性表是一个序列,也就是说元素之间是有个先来后到的。 2、若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他原创 2017-11-27 18:35:33 · 1541 阅读 · 0 评论 -
线性表的顺序存储结构
线性表的顺序存储结构线性表的物理存储结构分为:顺序存储结构 和 链式存储结构。物理上的存储方式事实上就是在内存中找个初始地址,然后通过占位的形式,把一定的内存空间给占了,然后把相同数据类型的数据元素依次放在这块空地中。顺序存储结构线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。顺序存储结构封装需要三个属性: 1、存储空间的起始位置。 2、线性表的最大存储容量。 3原创 2017-11-29 15:04:12 · 924 阅读 · 0 评论 -
单链表的基本操作(读插删)
头指针和头结点的异同头指针: 1、头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针。 2、头指针具有标识作用,所以常用头指针冠以链表的名字(指针变量的名字)。 3、无论链表是否为空,头指针均不为空。 4、头指针是链表的必要元素。头结点: 1、头结点是为了操作的统一和方便而设立的,放在第一个元素的结点之前,其数据域一般无意义(但也可以用来存放链表的长度)。 2、有了原创 2017-11-30 15:23:59 · 1175 阅读 · 0 评论 -
数据结构和算法绪论
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。程序设计 = 数据结构 + 算法简单来说,数据结构就是关系。是数据元素相互之间存在的一种或多种特定关系的集合。顺序存储结构: 是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。(比如:火车站排队买票)链式存储结构: 是把数据元素存放在任意的存储单元里,这组存储单元可以是连原创 2017-11-24 17:07:05 · 630 阅读 · 0 评论 -
算法效率的度量方法
设计算法要尽量的提高效率,这里的效率高一般指的是算法的执行时间。===========================================事后统计方法定义: 主要是通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。缺陷: 1、必须依据算法事先编制好测试程序,通常需要花费大量时间和精力,完了发觉测试的是糟糕的算法,那不是功亏一篑原创 2017-11-27 14:56:34 · 5889 阅读 · 0 评论 -
算法时间复杂度和空间复杂度
定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进行分析T(n)随着n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间度量,记作:T(n) = O( f(n) )。它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。这样用大写O()来体现算法时间复杂度的记法原创 2017-11-27 16:06:01 · 806 阅读 · 0 评论