A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 miaohangbo 于 2018-12-6 17:56 编辑

涉及内容主要有:
1、数据结构(基本概念)
2、数据结构与其他语言关系
3、数据结构与算法关系
4、数据结构包含的内容
5、数据结构具体实现

目录:
第一部分:基本概念


第一部分(基本概念)

1、数据结构
1.1基本概念
数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别并输入给计算机处理的符号集合。数值类型(整型、实型等)和非数值类型(字符、声音、图像等)。
数据对象(记录):是性质相同数据元素的集合,是数据的子集。
数据元素:组成数据的、有一定含义的基本单位,在计算机中通常作为整体处理。
数据项:一个数据元素由若干个数据项组成。数据项是数据不可分割的最小单位。

数据、数据对象、数据元素、数据项之间关系
1.2数据结构
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。(数据元素+关系)
(程序设计 = 数据结构 + 算法)
逻辑结构:是指数据对象中数据元素之间的相互关系。(四种:集合、线性、树形、图形)
集合结构:集合结构中的数据元素同属一个集合外,他们没有其他关系。元素是平等的。

线性结构:数据元素是一对一的关系。(对应前后)

树形结构:数据元素之间存在一种一对多的层次关系。

图形结构:数据元素多对多关系。



物理(存储)结构:是指数据的逻辑结构在计算机中的存储形式。两种:链式存储,顺序存储。
顺序存储结构:是把元素存放在地址连续的存储单元里,其数据之间的逻辑关系和物理关系是一致的。

链式存储结构:数据元素存放在任意的存储单元中,这组存储单元可以是连续的也可以是不连续的。需指针存储地址。


数据类型:是指一组性质相同的值的集合及定义在此集合上的一组操作的总称。
抽象数据类型:是指一个数学模型及定义在该模型上的一组操作。(主要指的是逻辑上的,抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性)


数据结构

2、与其他语言的关系
数据结构本身与语言无关。(java\c\python等等)
例如:勾股定理。


3、算法
解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令都表示一个或多个操作。此处算法是为了更好地理解数据结构。(包含算法特征、设计要求等)

例子:1+2+3+....+100
方法一、普通计算
int sum=0;
for(int i=1,n=100;i<=n;i++){
sum+=i;
}
System.out.println(sum);
方法二、等差数列
int sum=0,n=100;
sum=(1+n)*n/2;
System.out.println(sum);

时间复杂度:在进行算法分析时,语句总执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n变化情况确定T(n)的数量级。
空间复杂度:计算算法所需的存储空间。
常见时间复杂度比较:

大小关系

14 个回复

倒序浏览
这就是学会了那个面试+2000大洋的帖子
回复 使用道具 举报
一个人一座城0.0 来自手机 中级黑马 2018-12-6 08:45:43
藤椅
厉害厉害
回复 使用道具 举报
6666
回复 使用道具 举报
6666
回复 使用道具 举报
回复 使用道具 举报
讲解相当透彻  学到了
回复 使用道具 举报
哇塞,赶紧收了
回复 使用道具 举报
贼牛逼!
回复 使用道具 举报
讲解的深入浅出,好贴先顶
回复 使用道具 举报
666 真牛
回复 使用道具 举报
很牛
回复 使用道具 举报

厉害
回复 使用道具 举报
666666666666
回复 使用道具 举报
优秀
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马