青岛大学数据结构与算法——第1章
一 概述
- 前言
- 研究内容
- 基本概念和术语
- 抽象数据类型的表示与实现
- 算法和算法分析
二 前言
- 数据结构重要吗
- 好学吗
- 怎么才能学好这门课程
三 研究内容
3.1 数值计算
- 桥梁结构中第应力
- 预测人口增长情况
3.2 非数值计算
- 管理系统(线性表)
- 人机对弈问题(树)
- 文件系统等系统结构图(树)
- 地理信息-地图导航-最短路径(图)
四 基本概念和术语
4.1 基本概念
- 数据-Data
- 数据元素-Data Element
- 数据项-Data Item
- 数据对象-Data Object
4.2 数据结构
逻辑结构
方式一:
- 线性结构:线性表、栈、队列、串
- 非线性结构:树、图
方式2:集合、线性、树、图
存储结构/物理结构
- 顺序存储结构-数组
- 链式存储结构-指针
- 索引存储结构-通讯录
- 散列存储结构-散列表
4.3 数据类型
可用数据类型表示
- 基本数据类型:int、char、float、double
- 构造数据类型:数组、结构体、共用体、枚举
- 指针、void
- typedef自定义类型
不能直接用数据类型表示
- 栈
- 队列
- 树
- 图
4.4 抽象数据类型
- 形式定义:D-数据对象、S-关系集、P-对D的操作集
- 定义格式:ADT
五 抽象数据类型的表示和实现
- 圆(ADT)
- 复数(ADT)
六 算法和算法分析
6.1 算法的描述
- 自然语言
- 流程图
- 伪代码
- 程序代码
6.2 程序与算法
- 算法的特性:有穷性、确定性、可行性、输入、输出
- 算法设计要求:正确性、可读性、健壮性、高效性
6.3 算法效率
- 考虑:时间效率和空间效率
- 度量:事后统计和事前分析
- 表示:大O表示
七 图示
青岛大学数据结构与算法——第1章相关推荐
- 比特数据结构与算法(第二章收尾)带头双向循环链表的实现
1.链表的分类 链表的分类 ① 单向或者双向 ② 带头或者不带头 ③ 循环或者非循环 常用的链表: 根据上面的分类我们可以细分出8种不同类型的链表,这么多链表我们一个个讲解这并没有意义.我们实际中最常 ...
- 为什么我要放弃javaScript数据结构与算法(第二章)—— 数组
第二章 数组 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构.JavaScript里也有数组类型,虽然它的第一个版本并没有支持数组.本章将深入学习数组数据结构和它的能力. 为什么 ...
- 读《学习JavaScript数据结构与算法》 第二章
第二章 ECMAScript和TypeScript概述 文章目录 第二章 ECMAScript和TypeScript概述 前言 一.let const 二.模板字面量 支持换行 拼接方式 三.函数的默 ...
- 数据结构与算法第2章:链表
数据结构与算法:链表 单链表 单链表的结构特点 单链表的增删改查 单链表面试题 单链表缺点分析 双向链表 双向链表的增删改查 约瑟夫环问题 单链表 单链表的结构特点 链表的结构特点 链表是有序的列表, ...
- 【数据结构与算法】——第二章:线性表
文章目录 1.线性表 1.1 基本概念 1.2 线性表基本操作 2.线性表的顺序存储 2.1 线性表顺序存储的插入与删除 3.线性表的链式存储 3.1 单链表 3.2 静态链表 3.3 循环链表 3. ...
- JAVA数据结构和算法:第一章(时间复杂度和空间复杂度)
数据结构 数据结构基础概念 不论是哪所大学,数据结构和算法这门课都被贯上无趣.犯困.困难的标签,我们从最基础最通俗的语言去说起,保证通俗易懂. 数据结构到底是什么呢?我们先来谈谈什么叫数据. 数据:数 ...
- 数据结构与算法(第一章 数据结构的基本概念 )
说起数据结构与算法,他们之间的关系是怎么样的呢?某位dalao曾经这样说过: The relationship between the data structures and algorithms l ...
- [翻译]C#数据结构与算法 – 第六章BitArray类
BitArray类用于在资源有限的情况下表示一系列比特值.比特集合可以存储于常规数组,但是如果我们使用专为比特集合设计的数据结构则可以创建更高效的程序.在本章中,我们将学习一下怎样使用这种数据结构并研 ...
- 【Java数据结构与算法】第九章 顺序查找、二分查找、插值查找和斐波那契查找
第九章 顺序查找.二分查找.插值查找和斐波那契查找 文章目录 第九章 顺序查找.二分查找.插值查找和斐波那契查找 一.顺序查找 1.基本介绍 2.代码实现 二.二分查找 1.基本介绍 2.代码实现 三 ...
最新文章
- java kryo_kryo序列化 - Java序列化期间的错误
- 傅里叶变换才是本质?谷歌这项研究GPU上快7倍、TPU上快2倍
- 在python中、下列代码的输出是什么-python面试题详细总结(附答案)
- 版本效果MoonWarrior cocos2d-x版本 --1
- mysql 时间取日期函数_mysql 获取当前日期函数及时间格式化参数详解
- SAP内向交货详解 Details on SAP inbound delivery
- 3P5 Industrial Engineering Lecture 1-2: Method of Study
- Java学习小程序(4)数列求和
- 【转】IOS制作静态库
- java中jxl飘红_jxl导出excel文件,部署到tomcat中就会报错,为什么呢,求解!
- Python抓取单个网页中所有的PDF文档
- 双时隙的工作原理_提高频点利用 海能达双时隙功能效率高
- 联通盒子系统服务器,联通IPTV盒子刷机方法,实现软件任意安装
- vue下用canvas实现图片标注工具,允许图片放大、缩小,允许拖拽图片
- 爱奇艺技术分享:轻松诙谐,讲解视频编解码技术的过去,android项目开发实战入门明日科技
- java判断 港(澳)台大陆身份证校验
- 中专计算机专业包括哪些方面,中专计算机有什么专业?
- 【数据库】数据库错题集(一)
- PS3安装Linux Fedora Core 6教程
- MVC模式和DDD模式对比,谁才是银弹?