数据结构(c语言版严蔚敏_吴伟民)读书笔记 第一章
目录
数据结构第一章 绪论
数据元素之间存在的关系称为结构
算法
1.算法应具有的特性
2.设计算法的要求
3.算法效率度量(时间复杂度)T(n) = O(f(n))
4.算法的储存空间的需求(空间复杂度)S(n)=O(f(n))
数据结构第一章 绪论
数据元素之间存在的关系称为结构
1.集合:结构中的数据元素除了“属于同一个集合”外别无其他关系
2.线性结构:结构中的数据元素之间存在这一个对一个的关系
3.树形结构:结构中的元素之间存在着一个对多个的关系。
4图状结构或网状结构:结构中的数据元素之间存在着多个对多个的关系
当数据结构定义的仅仅只是对操作对象的一种数学描述,即从操作对象抽象出来的数学模型。结构定义中的“关系”描述的是数据元素之间的逻辑关系,又称为数据的逻辑结构。
在计算机中讨论数据结构的目的是为了在计算机中实现对他的操作。
数据结构在计算机中的表示(又称映像)称为数据的物理结构,有称为储存结构。
数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。
数据的逻辑结构和物理结构是密切相关的两个放面。任何一个算法的设计决定的数据(逻辑)结构,而算法的实现依赖采用的存储结构。
c语言中的数据类型是一个值的集合和定义在这个集合上的一组操作的总称。
按“值”的不同特性,高级程序语言中的数据类型可以分为两大类:一类是非结构的原子类:这个类的值是不可分解的,例如c语言中的整型,字符型。
结构类型:结构类型的值是由若干的成分按某种结构足证的,可以分解,他的成分可以是非结构类型,也可以是结构的,数据结构可以看成是一组具有相同数据结构的值。结构类型可以堪称由一种数据结构和定义在其上得到一组操作组成。
算法
1.算法应具有的特性
a.有穷性
b.确定性
c.可行性
d.输入输出(适当的)输出是一定会有的,输入不一定。
2.设计算法的要求
a.首先得保证正确(无语法错误,程序运行可以得到满足规格要求得到结果,程序经得起典型、苛刻带有刁难性的机 组输入数据的考验、程序对一切合法输入数据能产生满足规格的结果。)
b.可读性(便于阅读,交流,调试,修改)
c.健壮性(输入非法时无须计算结果,返回从无或错误性质的值,并提醒用户输入非法)
d.效率与低存储量的需求
3.算法效率度量(时间复杂度)T(n) = O(f(n))
a.事后统计(利用计算机内部的计时功能)
b.事前分析估算(估算依据算法采用何种策略、问题的规模、书写程序的语言:对于同一种算法,实现语言的级别越高,执行的效率就越低)、编译程序所产生的机器代码的质量、机器执行指令的速度:不同语言编写,不同编译程序。
显然我们不能用绝对的时间单位来衡量算法的效率是不合适的,我们除去这些不可估算的因素我们可以认为一个特定的算法运行的工作量的大小,只依赖于问题的规模(通常用着整数量n来表示),或者说踏实问题规模的函数。
一个算法是由控制结构(顺序,分支,循环3种)和原操作(hi固有数据类型的操作)构成的,则算法时间取决于两者的综合效果。
即从算法中选取一种对于研究问题或算法类型的来水基本操作的原操作,以该基本操作重复的次数作为算法的时间度量。(时间复杂度)
4.算法的储存空间的需求(空间复杂度)S(n)=O(f(n))
数据结构(c语言版严蔚敏_吴伟民)读书笔记 第一章相关推荐
- c语言数据结构及算法实现代码,数据结构算法实现及解析―配合严蔚敏_吴伟民编著的数据结构(C语言版和C++版)(作者 高一凡)源代码...
数据结构算法实现及解析―配合严蔚敏_吴伟民编著的数据结构(C语言版和C++版)(作者 高一凡)源代码 2016-08-22 0 0 0 4.0 分 其他 1 积分下载 如何获取积分? 数据结构算法实现 ...
- c语言实现bf算法的定位函数,数据结构c语言版严蔚敏清华大学出版社第四章串.ppt...
数据结构c语言版严蔚敏清华大学出版社第四章串 模式匹配(定位) 设有主串S和子串T(将S称为目标串,将T称为模式串),在主串S中,从位置start开始查找,如若在主串S中找到一个与子串T相等的子串,则 ...
- 数据结构(C语言版)严蔚敏(字符串的模式匹配算法--KMP算法)
数据结构(C语言版)严蔚敏(字符串的模式匹配算法–KMP算法) 1.暴力匹配算法 // 暴力匹配算法 int Index2(SString S,SString T) {// S是主串,T是子串int ...
- 数据结构(C语言版)严蔚敏(树、二叉树的相关概念笔记)
数据结构(C语言版)严蔚敏(树的相关概念笔记) 1. 树中一个节点的孩子个数称为该节点的度,树中节点的最大度数称为树的度: 2. 度大于0的节点称为[分支节点](非终端节点),度为0的节点称为[叶子节 ...
- 数据结构(C语言版)严蔚敏---图的操作的相关代码
1. 将邻接表转换成邻接矩阵 main.cpp void Convert(ALGraph G,MGraph &M){M.vexnum = G.vexnum;M.arcnum = G.arcnu ...
- 数据结构c语言版严蔚敏 顺序表
说来惭愧由于贪玩,数据结构挂科了,现在重新学一遍数据结构,用博客督促一下自己,希望各位同学引以为戒,贪玩一时爽,痛苦永留存. 本文主要以严老师的数据结构书为主. 结构类型 listsize代表这个顺序 ...
- 数据结构(C语言版 严蔚敏著)——树
· 树(tree)是n(n>=0)个结点的有限集.当n=0时成为空树,在任意一颗非空树中: //这里只需掌握定义,重点在二叉树 -有且仅有一个特定的称为根(Root)的结点: -当n>1时 ...
- 数据结构(C语言版)严蔚敏->二叉树(链式存储结构)的构造及其几种遍历方式(先序、中序、后序、层次)和线索二叉树
二叉树每个节点至多只有两棵子树(即二叉树中不存在度大于2的节点),并且二叉树的子树有左右之分,其次序不能任意颠倒. 1. 二叉树 二叉树一般采用链式存储结构,用链表节点来存储二叉树中每个节点.在二叉树 ...
- 数据结构(C语言版)严蔚敏->排序
排序 1. 插入排序 1.1 直接插入排序 1.2 折半插入排序 1.3 希尔排序(Shell Sort) 2.交换排序 2.1 冒泡排序 2.2 快速排序 3. 选择排序 3.1 简单选择排序 3. ...
最新文章
- Memcached 缓存系统的-介绍、安装以及应用
- 华为创造出5g和鸿蒙,拥有5G专利,开发鸿蒙系统:《华为智慧》复盘成长路总结成功之道...
- 如何选择就业方向(80后的个人经验,转载)
- 在汇编程序中调用C语言的库函数,h转inc
- 忘掉什么鬼并发,先听完这个故事!
- strtol函数参数详解
- Linux RedHat7.0 上vsftp配置
- 编码实战Web端联系人的增删改查
- python卸载pip_PIP安装和卸载包,pip
- jQuery源码解析(1)—— jq基础、data缓存系统
- Process Node.js 进程
- httpRuntime一使用
- java pdf转ofd
- java web表单系统
- 微信小程序请求本地服务器测试成功
- 推荐育儿书《正面管教》
- javascript继承的6种方法
- <ESP8266>WIFI模块AT指令浅学
- 揭露安利!!!!!!
- python 画椭圆_一篇文章教会你使用SVG ellipse 画椭圆
热门文章
- 最后的巫师猎人 高清BT种子迅雷下载
- PowerMill二次开发——插件响应PM变化
- 为什么总是有人说 Java 啰嗦,却没人说 C++ 啰嗦?
- 百度资深架构师总结微服务化的不同阶段 Kubernetes 的不同玩法
- TMI8140大电流强力马达驱动芯片,让按摩再“爽一点”
- c# 读取Excel,并批量插入到数据库
- 微信公众号运营,如何编辑好的文案吸引粉丝
- huggingface.transformers速成笔记:Pipeline推理和AutoClass
- 课程学习笔记1:自然辩证法概论
- 微信小程序源码删除解决办法解包