第一节-数据结构
来源:互联网 发布:广州锋泽网络垃圾 编辑:程序博客网 时间:2024/06/10 08:41
之前对数据结构的了解真的很浅显,虽然对我这种小白来说也用不到什么高级的算法,采用什么样的数据结构。但是,在立志前往IT前沿的道路上,我的的确确该做些改变了!
一.数据
Q1:数据是什么?
A1:所有能输入到计算机中且能被计算机程序处理的符号的总称。
PS:数据对象是性质相同的数据元素的集合,是数据的子集。
数据元素又可以由若干个数据项组成。
eg:图书馆的所有书籍就是一个数据对象,而每一本书都是一个数据元素,每一个数据元素都有好多数据项组成(名称、类别、出版社、作者等等)
Q2:那么什么是数据结构呢?
A2:简单来说就是有特定关系的数据元素的集合。
PS:
4类基本结构
1.线性结构;
2.树形结构;
3.图形结构;
4.集合;
数据结构是一个二元组 Data Structure = (D,S)
– D是数据元素的有限集
– S是D上关系的有限集
数据元素之间的关系有两种表示方法:
1.顺序存储;
2.链式存储;
二.数据类型
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
三.抽象数据类型
一个数学模型以及定义在该模型上的一组操作
三元组表示:(D,S,P)
–D:数据对象
–S:D上的关系集
–P:对D的基本操作集
1.3 抽象数据类型的表示和实现
详情见《数据结构》P9-P13
伪代码—–以 类C 为例;
1.4 算法
Character :
1.无死循环
2.无二义性
3.可行性
4.输入
5.输出
Brilliant Algorithm:
- 正确性 –测试人员要比开发者多
- 可读性 –要求一目了然
- 健壮性 –可以当作可移植性,不同环境下都可正确运行
- 效率与第存储量要求 –属于数据结构的范畴
即高速低存储
算法的描述工具
- 自然语言(太粗)
- 高级语言(太细)
- 伪代码指令(具体见1.3算法的描述工具)–点下面的1.3即可跳转
- 一数据
- 4类基本结构
- 二数据类型
- 数据类型是一个值的集合和定义在这个值集上的一组操作的总称
- 三抽象数据类型
- 三元组表示DSP
- 一数据
- 3 抽象数据类型的表示和实现
- 详情见数据结构P9-P13
- 伪代码以 类C 为例
- 4 算法
- Character
- Brilliant Algorithm
- 算法的描述工具
- 算法的效率评价
- 时间复杂度
- 空间复杂度
算法的效率评价
时间复杂度
基本操作的重复执行次数是n 的某个函数f(n)
T(n)=O(f(n))
PS:
1.可以选择一种基本操作进行讨论;
2.只需选择次数最高的项,并去除系数即可;
空间复杂度
包括了显式和隐式
隐式:递归所用的工作栈
0 0
- 第一节-数据结构
- 数据结构学习笔记--(3) 链表--第一节
- 陈越姥姥第一节数据结构课,printN
- 第一节
- 第一节
- 第一节
- 第一节
- 第一节
- Machine Learning On Spark——第一节:基础数据结构(一)
- 第一节 IContextMenu
- 登场!第一节
- bsci第一节
- XML第一节
- java第一节
- 第一节:准备工作
- android第一节
- 【第一章 第一节】
- 【第一章 第一节】
- 解决Xcode 8 Console 输出系统网络连接log的问题
- 打印自身源代码的程序
- C/C++进阶学习笔记(三) 异常处理 try catch throw
- Recast & Detour 寻路引擎的基本流程
- 一张图说明进程, 线程, 操作系统内存管理
- 第一节-数据结构
- Collections集合框架工具类
- C语言复杂声明的本质与局限
- 数据结构——链表C/C++实现
- linux的文件目录结构
- 集合(ArrayList,HashMap,HashSet)扩容
- TLCL学习笔记03——键盘高级操作技巧、权限、进程
- 纯ubuntu16.04下安装tinyos2.1.2教程
- Java中的重写和重载