数据结构课堂笔记
来源:互联网 发布:淘宝好评追加怎么写 编辑:程序博客网 时间:2024/05/16 07:08
第一章 绪论
一 数据结构:
1、基本概念:
(1)数据:所有能输入到计算机中并能被计算机程序识别和处理的符号集合。
(2)数据两大类:1、整数、实数等数值数据;2、文字、声音、图形和图像等非数值数据。
(3)数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
(4)数据项:数据元素的最小单位,能独立、完整地描述问题世界的一切实体。
(5)数据结构:相互之间存在一定关系的数据元素的集合。分为逻辑结构和存储结构。
(6) 数据类型:一组值的集合以及定义于这个值集上的一组操作的总称。其规定了该类型数据的取值范围和对这些数据所能采取的操作。
(7)抽象:抽出问题的本质的特征而忽略非本质的细节,是对具体事物的一个概括。
(8)抽象数据类型(ADT):是一个数据结构以及定义在该结构上的一组操作的总称。
(9)数据类型和ADT的区别:前者指高级程序设计语音支持的基本数据类型,后者指自定义的数据类型。
2、逻辑结构:
(1)逻辑结构:数据元素之间逻辑关系的整体。在形式上可定义为一个二元组。
(2)根据逻辑关系,数据结构分为四类:1、集合:数据元素之间就是“属于同一个集合”,除此之外,没有任何关系:。2、线性结构:数据元素之间存在着一对一的线性关系。3:树结构:数据元素之间存在着一对多的层次关系。4、图结构:数据元素之间存在着多对多的任意关系。
(3)非线性结构 :树结构和图结构。
3、存储结构:
(1)存储结构:又称物理结构。是数据及其逻辑结构在计算机中的表示。除了存储数据元素,必须隐式或显式地方法数据元素之间的逻辑关系。
(2)两种存储结构:顺序存储结构和链接存储结构。
(3)常用存储方法:1、用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示。2、用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示。
二、算法
1、基本概念:
(1)算法:对特定问题求解步骤的一种描述,是指令的有限序列。
(2) 算法特性:1、输入;2、输出;3、有穷性;4、确定性;5、可行性。
(3)评价算法:1、正确性;2、鲁棒性;3、简单性;4、抽象分级;5、高效性。
描述算法:1、自然语言;2、流程图;3、程序设计语言;4、伪代码。
2、算法分析
(1)度量算法效率的方法:1、事后统计;2、事前分析估算(渐进复杂度)
(2)问题规模:指输入量的多少,可从问题描述中得到。
(3)基本语句:执行次数与整个算法的执行次数成正比的语句。
(4)时间复杂度(渐进时间复杂度):只考察当问题规模充分大时,算法中基本语句的执行次数在渐近意义下的阶。通常用大O记号表示。
(5)大O记号:T(n)=O(f(n)) 用来描述增长率的上限。
(6)分析算法的时间复杂度:找出所有执行次数最大的那条语句作为基本语句,计算基本语句的执行次数,取其数量级放入大O中。
0 0
- 数据结构课堂笔记
- 数据结构课堂
- 科锐课堂笔记:2017/5/3 数据结构基本概念
- 2017年10月9日数据结构课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记!
- 一杯清茶
- 独家+原创【零死角玩转MTK手机驱动开发】视频开课咯!
- 关于java this和super的简单理解
- C++ pair 快速入门
- PowerDesigner 数据库建模工具一缆
- 数据结构课堂笔记
- 面向对象和基于对象区别
- C++ 求一个矩阵的行列式的值(星星笔记)
- 深入理解linux内核学习目录内容
- 银河麒麟操作系统 14.04 完全版
- 【DP】 codeforces 466D Increase Sequence
- 【codeforces】 466C Number of Ways
- Windows USB功能驱动开发总结
- Spring3 MVC请求参数获取的几种方法总结