当你意识到时间是贼,它已偷走了你所有的选择!
数据结构主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。一般可以分为:1.逻辑结构 2.存储结构 3.算法
基础概念:
数据:信息的载体
数据元素:数据的基本单位
数据项:一个数据元素可由若干个数据项组成
例子:学籍管理系统中学生信息表里每一个数据元素就是一个学生记录,而它包括学号、姓名、性别等数据项。
1.逻辑结构
指的是客观上数据对象之间所具有的关系,常见的逻辑结构有:集合结构、线性结构、树形结构、网状结构(图)
2存储结构
数据在计算机中的存储位置和存储方式
一般分为:顺序存储结构(数组)和链式存储结构(链表)
java中Arraylist是基于动态数组的,而Linklist是基于链表的,基于数组的Arraylist查询快,增删慢
,Linklist与之相反增删快,查询慢。
3.算法
公元825年,一位叫阿尔。花剌子模(Al-Khwarizmi)的波斯数学家编写了一本教科书,书中概括了进行数字四则算术运算的法则。算法(Algorithm)就来源于这位数学家的名字。
算法特性:
1.有穷性
2.可行性
3.输入
4.输出
5.确定性
人们发现无论多么复杂的算法,都可以用三种流程控制结构来描述:
顺序结构、选择结构、循环
算法的复杂性:在计算机上进行算法所需要的资源量。即时间和空间。因此算法分析主要指算法的时间复杂度和空间复杂度分析。
时间复杂度:执行一个算法所需要的”时间“的长短
影响因素:
1.硬件速度
2.书写的语言
3.数据规模N
4.数据分布D
网友评论