数据结构-使用C语言朱战立

合集下载

数据结构(朱战力版)第1章

数据结构(朱战力版)第1章

内容安排
章 内 容 绪 论 学时 章 内 容 树和二叉树 图 排序 查找 学时
1 2 3 4 5 6
3 9 6 3 3 2
7 8 9 10
10 4 6 6 1264
7
线性表 栈和队列 串 数组 递归算法
11 上机(共六次) 12
合计
对学生的几点要求
1、上课认真听讲,适当做好笔记,按时交作业。
2、考试成绩分两部分:平时成绩(包括出勤和上机实验)占 30%,期末成绩占70%。
渐进符号(O)的定义:当且仅当存在一个正的常
数 C,使得对所有的 n n0 ,有 f(n) Cg(n), 则: f(n) = O(g(n))
例:
3n+2=O(n) 因为 3n+24n for n2
6*2n+n2=O(2n) 因为6*2n+n2 7*2n
for n4
28
3 计算举例 例:分析以下程序段的时间复杂度。
正确性、可读性、健壮性、高效率与低存储量需求(见课本P20) 常用时间复杂度来衡量 常用空间复杂度来衡量
26
2 时间复杂度和空间复杂度如何表示?
多项式阶 时间复杂度T(n)按数量级递增顺序为:
复杂度低
复杂度高
注: 1) O()为渐近符号。 2) 空间复杂度S(n)按数量级递增顺序也与上表类似。
27
讨论: 1 什么是算法?如何评判算法的好坏?
2 时间复杂度和空间复杂度如何表示?
3 计算举例
25
1 什么是算法?如何评判一个算法的好坏?
算法:是对特定问题求解步骤的一种描述,它是指令 的有限序列,是一系列输入转换为输出的计算步骤。 好的程序设计:好算法+好结构 算法的基本特性:有穷性、确定性、可行性、必有输出 算法评价指标:

学生成绩记录簿管理系统课程设计[1]

学生成绩记录簿管理系统课程设计[1]

1需求分析1.1研究背景教育信息化必将涉及许多具体的技术和机器在教育中的应用,它使得一些人往往以技术论,机器论的观点来认识教育信息化的目的,认为教育信息化就是以机器代替教师讲课,代替教育写板书,就是以电子教材代替印刷教材,就是实现网上学习……,并以代替性、省力性、顺利性、效率性作为评价教育信息化的尺度。

而成绩管理系统将大大的提高老师的管理效率,使得老师可以针对学生的具体情况进行深入教育,培养跨世纪的创新人才,是实现教育的现代化。

教育信息化应以新的教育思想、教育观念指导信息技术在教育的各个部门、各个领域广泛应用,应根据创新人才培养的要求,利用信息技术,探索新的教育模式,促进教育现代化。

只有在这样的基础上指导信息技术的教育应用,才是我们所需要的教育信息化。

也就相应产生了对学生成绩的高效管理。

1.2课题研究的目的及意义现在我国各院高校的学生成绩管理水平普遍不高,有的还停留在纸质基础上,这种管理手段已不能适应时代的发展,因为它浪费了许多的人力和物力。

在当今信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。

成绩管理系统提供了强大的管理功能,方便管理员对考试成绩等信息的添加、修改、删除、查询、分类等操作。

本系统将提高管理人员的工作效率和工作质量。

如今,计算机网络带动了全球信息化得进程。

在高校中,信息化带来的传统教学、科研模式的变化,需要新的管理机制:以信息技术为手段的校务管理,也需要新的机制,即需要一个数字化的校园(Digital Campus)。

数字校园的建设也是高校信息化的重要组成部分。

成绩管理是学校管理中的异常重要的一个环节,作为学校,除了育人,就是与育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,在于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着重要的分量。

运用成绩管理系统可以减轻学院教学人员的工作量,加快查询速度,加强管理,以及国家各部门关于信息化的步伐,是各项管理更加规范化。

《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

《数据结构-C语⾔版》(严蔚敏,吴伟民版)课本源码+习题集解析使⽤说明《数据结构-C语⾔版》(严蔚敏,吴伟民版)课本源码+习题集解析使⽤说明先附上⽂档归类⽬录:课本源码合辑链接☛☛☛习题集全解析链接☛☛☛★教材及习题源码下载★链接☛☛☛(GitHub仓库)欢迎Star项⽬,如有疑问,请在Issues反馈。

博主有话说:01.⾃学编程,难免思路阻塞,故我在本博客陆续更新了严蔚敏,吴伟民版《数据结构-C语⾔版》各章节的课本源码和配套习题集答案解析,⽬的是为了整理数据结构中的知识点,并与⽹友交流意见,集思⼴益,共同进步。

(⽬前已更新完毕,细节待完善)★注★左侧随笔分类下⽤两个栏⽬:<课本源码>、<习题解析>来存放本主题⽂档。

<课本源码>⽬录下实现了三种数据结构源码:⼀:课本中重点描述过的数据结构与算法;⼆:课本中提到,但没有详细描述的数据结构;三:课本中未提到,但在习题集中涉及到的数据结构。

<习题解析>⽬录下存放了配套习题集中每章的习题解答,但对于算法设计题,要注意其相对路径,因为涉及到了别的⽂档的引⽤。

各⽂档的组织⽅式参见附录⼆中的图⽰,有疑问联系博主。

02.本源码与解析涵盖了《数据结构》课本和习题集两部分,课本和习题集分别以下图书籍为参照(我有左边的纸质版和右边的电⼦版,貌似内容没区别):03.所有源码实现均使⽤C语⾔,遵循C99标准,使⽤C-Free 5(C-Free置gcc编译器,编译时,需要在菜单栏,定位到构建-->构建选项-->类别-->C Language,勾选第三个:"ISO C99 plus GNU extensions [-std=gnu99]",即编译选项⽤-std=gnu99,⽽不是-std=c89或者-std=c99)测试通过(不要在CFree⾥创建⼯程,如果确实想在⼯程⾥运⾏,那⽂件互相引⽤的⽅式需要改写)。

《数据结构——使用C语言》(朱战立)精品课件习题1

《数据结构——使用C语言》(朱战立)精品课件习题1
则语句频度应为 n
(8) X=91; y=100;
外循环次数为100
while (y>0) @ if (x>100) { x-=10; y--; } else x++; 内循环次数为10
语句@实质是: while (x<=100) x++; x- = 10; y--;
语句@的频度 应为 1100
n i i 1 i
学会系统分析的方法 题1.8 (5) for( i=1; i<=n; i++)
for (j=1; j<=i; j++) for (k=1; k<=j; k++)
语句频度 =
1 j
i 1 j 1 k 1 i 1 j 1 i 1
n
i
j
n
i
n
返回
题1.19
int cal(int a[], int arrsize, int n ) { // 计算(i!•2i)存入a[i],1≤i≤n, 若n>arrsize, 则返回-1,
// 若k!•2k (1≤k≤n)出界,则返回-2, 否则返回0
if ( n<1 || arrsize<n ) return -1; a[1] = 2; i = 2; while (i<=n && a[i-1]<=MAXINT/(2*i)) { a[i]=a[i-1]*2*i; i++; } if (i>n) return 0; else return -2; }
返回
返回
题1.7
实现输入和输出的三种方式:
(1) 直接和外部环境进行信息交换,复用性 较差,一般仅用在人机对话的用户界面中; (2) 和调用环境进行信息交换,安全性好, 使模块内部出现的错误不外传,进行模块测 试时,只要保证本模块从入口到出口的结果 正确即可。 (3) 交换方式同(2),但不安全,容易出现各 模块的错误滚动传递。 返回

武汉体育学院硕士研究生初试考试内容及范围

武汉体育学院硕士研究生初试考试内容及范围
武汉体育学院硕士研究生初试考试内容及范围 教材名称
120200 工商管理 数学三 管理学原理 管理经济学 财务管理学(财务与金融方向) 营销管理(营销管理方向) 战略管理(战略与治理方向) 040301 体育人文社会学 体育社会学 体育管理学 050300 新闻传播学 新闻学概论(马工程教材) 传播学教程(第二版) 0403Z3 体育新闻传播学 体育媒体关系营销 媒体体育与体育媒体 新闻学概论(马工程教材) 055200 新闻与传播(专业学位) 新闻学概论(马工程教材) 传播学教程(第二版) 本书编写组 郭庆光 高等教育出版社2009年版 中国人民大学出版社2011年出版 (美)威廉·尼克斯等 张德胜 本书编写组 辽宁科学技术出版社2005年版 华中科技大学出版社2015年版 高等教育出版社2009年版 本书编写组 郭庆光 高等教育出版社2009年版 中国人民大学出版社2011年版 卢元镇 高雪峰等主编 高等教育出版社 人民体育出版社 全国统考科目 周三多著 吴德庆 荆新等著 菲利普﹒科特勒 项保华 复旦大学出版社 第五版 中国人民大学出版社 第五版 中国人民大学出版社 第六版 中国人民大学出版社 2012年 华夏出版社 2003
编者
出版社
《新闻与传播综合能力》旨在检验考生的基本知识与基本技能的掌握程度,以及分析问题与解决问题的能力。考试范 围详见《<新闻与传播综合能力>考试大纲》。 135100 艺术(广播电视领域专业学位) 艺术学基础知识 王次炤等 中央音乐出版社2006年版
《艺术综合能力》旨在检验考生的基本知识与基本技能的掌握程度,以及分析问题与解决问题的能力。考试范围详见 〈艺术综合能力〉考试大纲》。 0402 心理学 普通心理学(第四版) 运动心理测量的理论与方法 045400 应用心理 普通心理学(第四版) 体育运动心理学 040302 运动人体科学 系统解剖学 运动解剖学 生理学 运动生理学 柏树令 全国体院通用教材 姚 泰 全国体院通用教材 人民卫生出版社 人民体育出版社 人民卫生出版社 人民体育出版社 彭聃龄编 黄志剑主编 北京师范大学出版社 2012年版 华中科技大学出版社 彭聃龄编 漆昌柱 北京师范大学出版社 2012年版 湖北辞书出版社 20结构――使用C语言》第三版 朱战立

《数据结构》教程c语言版

《数据结构》教程c语言版

《数据结构》第五版清华大学自动化系李宛洲2004年5月目录第一章数据结构--概念与基本类型 (6)1.1概述 (6)1.1.1数据结构应用对象 (6)1.1.2学习数据结构的基础 (7)1.1.2.1 C语言中的结构体 (7)1.1.2.2 C语言的指针在数据结构中的关联作用 (8)1.1.2.3 C语言的共用体(union)数据类型 (12)1.1.3数据结构定义 (15)1.2线性表 (17)1.2.1 顺序表 (18)1.2.2 链表 (20)1.2.2.1链表的基本结构及概念 (20)1.2.2.2单链表设计 (22)1.2.2.3单链表操作效率 (29)1.2.2.4双链表设计 (30)1.2.2.5链表深入学习 (32)1.2.2.6稀疏矩阵的三元组与十字链表 (36)1.2.3 堆栈 (41)1.2.3.1堆栈结构 (41)1.2.3.2基本操作 (42)1.2.3.3堆栈与递归 (44)1.2.3.4递归与分治算法 (45)1.2.3.5递归与递推 (49)1.2.3.6栈应用 (52)1.2.4 队列 (57)1.2.4.1队列结构 (57)1.2.3.2队列应用 (59)1.3非线性数据结构--树 (64)1.3.1 概念与术语 (64)1.3.1.1引入非线性数据结构的目的 (64)1.3.1.2树的定义与术语 (65)1.3.1.3树的内部节点与叶子节点存储结构问题 (66)1.3.2 二叉树 (66)1.3.2.1二叉树基本概念 (66)1.3.2.2完全二叉树的顺序存储结构 (68)1.3.2.3二叉树遍历 (69)1.3.2.4二叉树唯一性问题 (71)1.3.3 二叉排序树 (72)1.3.3.1基本概念 (72)1.3.3.2程序设计 (73)1.3.4 穿线二叉树 (79)1.3.4.1二叉树的中序线索化 (80)1.3.4.2中序遍历线索化的二叉树 (81)1.3.5 堆 (82)1.3.5.1建堆过程 (83)1.3.5.2在堆中插入节点 (85)1.3.6 哈夫曼树 (86)1.3.6.1最佳检索树 (86)1.3.6.2哈夫曼树结构与算法 (88)1.3.6.3 哈夫曼树应用 (90)1.3.6.4哈夫曼树程序设计 (92)1.3.7 空间数据结构----二叉树深入学习导读 (95)1.3.7.1k-d树概念 (96)1.3.7.2k-d树程序设计初步 (97)1.4非线性数据结构--图 (100)1.4.1图的基本概念 (100)1.4.2图形结构的物理存储方式 (103)1.4.2.1相邻矩阵 (103)1.4.2.2图的邻接表示 (104)1.4.2.3图的多重邻接表示 (106)1.4.3图形结构的遍历 (107)1.4.4无向连通图的最小生成树(minimum-cost spanning tree:MST) (110)1.4.5有向图的最短路径 (113)1.4.5.1单源最短路径(single-source shortest paths) (113)1.4.5.2每对顶点间最短路经(all-pairs shortest paths) (116)1.4.6拓扑排序 (117)第二章检索 (123)2.1顺序检索 (123)2.2对半检索 (124)2.2.1 对半检索与二叉平衡树 (124)2.2.2对半检索思想在链式存储结构中的应用---跳跃表 (127)2.3分块检索 (133)2.4哈希检索 (134)2.4.1哈希函数 (135)2.4.2闭地址散列 (136)2.4.2.1线性探测法和基本聚集问题 (136)2.4.2.2删除操作造成检索链的中断问题 (138)2.4.2.3随机探测法 (139)2.4.2.4平方探测法 (140)2.4.2.5二次聚集问题与双散列探测方法 (141)2.4.3开地址散列 (142)2.4.4哈希表检索效率 (142)第三章排序 (145)3.1交换排序方法 (145)3.1.1直接插入排序 (145)3.1.2冒泡排序 (147)3.1.3 选择排序 (148)3.1.4 树型选择排序 (149)3.2S HELL排序 (150)3.3快速排序 (152)3.4堆排序 (154)3.5归并排序 (156)3.6数据结构小结 (159)3.6.1 数据结构的基本概念 (159)3.6.2 数据结构分类 (159)3.6.2.1数据结构中的指针问题 (160)3.6.2.2线性表的效率问题 (161)3.6.2.3二叉树 (161)3.6.3排序与检索 (161)3.7算法分析的基本概念 (162)3.7.1基本概念 (162)3.7.2上限分析 (164)3.7.3下限分析 (164)3.7.4空间代价与时间代价转换 (165)第6章高级数据结构内容--索引技术 (167)6.1基本概念 (167)6.2线性索引 (168)6.2.1 线性索引 (168)6.2.2 倒排表 (169)6.32-3树 (170)6.3.1 2-3树定义 (172)6.3.2 2-3树节点插入 (173)6.4B+树 (178)6.4.1 B+树定义 (178)6.4.2 B+树插入与删除 (180)6.4.3 B+树实验设计 (182)第一章数据结构--概念与基本类型1.1概述1.1.1数据结构应用对象计算机应用可以分为两大类,一类是科学计算和工业控制,另一类是商业数据处理。

2011年省普通高校本科插班生招生简章

2011年省普通高校本科插班生招生简章

2011年广东省普通高等学校本科插班生招生简章一、报考条件坚持四项基本原则,热爱祖国,品德良好,遵纪守法,决心为社会主义现代化建设勤奋学习且具有培养前途,并符合下列条件之一人员可以报考:1.就读广东省普通高校的高职高专应届毕业生(含外省生源);2.广东省户籍或广东生源在省外普通高校就读的高职高专应届毕业生(不含办理了暂缓就业的非应届毕业生);3.其它取得国民教育专科毕业文凭的广东省户籍考生。

下列人员不得报考:1.应届毕业生之外的高等学校专科在校生;2.非广东户籍的专科毕业生(含办理了暂缓就业的专科毕业生);3.2010年参加本科插班生考试,因作弊被取消各科考试成绩并被禁止下年度参加本科插班生考试的;4.因触犯刑律已被有关部门采取强制措施或正在服刑者。

二、报名时间和办法报名时间:2011年1月4日至7日四天为网上预报名时间,考生通过互联网登陆/cbsbm进行预报名,逾期不再办理报名手续;2011年1月8日至1月10日三天为网上报名确认时间。

报名确认地点:各招生院校。

考生必须持身份证原件与复印件及最后学历成绩单(毕业学校加盖公章)亲自到报名点确认报名资格。

此外,往届生须持专科毕业证书原件与复印件;普通高校应届毕业生须持当年入学名册复印件(考生所在学校加盖公章方有效),入学时补验毕业证书原件。

招生学校负责对考生报考材料的审查,省招生办在录取审核时复查有关材料,对弄虚作假者取消录取资格。

考生报名时不再出具所在单位同意报考的证明材料。

考生与所在单位因报考本科插班生产生的问题由考生自行处理。

考生未能提供相关档案,高校不得录取。

考生必须提供真实的档案材料,供高校录取。

考生凡持假证明、假文凭等虚假材料报名考试的,取消考试资格;已被录取的,取消录取资格。

考生报名时须缴交200元报名考试费。

考生按规定考试时间、地点,持盖有招生学校骑缝章的准考证参加考试。

经审查材料不符合报考资格的考生,不退还报名考试费。

考生报考志愿只能填写一个学校的一个专业(该专业为专业课考试对应的专业)。

计算机专业教材目录

计算机专业教材目录

计算机专业教材目录计算机专业教材目录计算机专业是一个涉及计算机科学、信息技术、软件工程等多个领域的综合性学科。

在计算机专业的学习中,教材是学生们获取知识和提高技能的重要途径。

本文将介绍一些计算机专业经典的教材目录,帮助读者更好地了解这个领域的学习资源。

1、计算机导论电子工业出版社王志强傅向华梁正平李延红编著本书是计算机专业入门教材,介绍了计算机的基本概念、算法、数据结构、操作系统、计算机网络等方面的知识。

通过本书的学习,读者可以了解计算机系统的基本组成和原理,为进一步学习计算机专业课程打下基础。

2、高等数学高等教育出版社同济大学大学数学系编高等数学是计算机专业的基础课程之一,对于后续的学习具有重要的支撑作用。

本书内容涵盖极限、微积分、线性代数、概率论与数理统计等,是学习计算机专业必不可少的数学基础教材。

3、电路电子学电子工业出版社王文辉编著电路电子学是计算机硬件基础课程之一,介绍了电路分析、模拟电子技术、数字电子技术等知识。

本书内容详实,注重实践应用,适合计算机专业学生阅读。

4、C语言程序设计清华大学出版社崔武子赵重敏李青编著 C语言是计算机专业的重要编程语言之一,本书介绍了C语言的基本语法、程序结构、数据类型、运算符等知识。

通过本书的学习,读者可以掌握C语言编程的基本技能,为后续深入学习其他编程语言打下基础。

5、数据结构——使用C语言西安交通大学出版社朱战立编著数据结构是计算机专业的重要课程之一,本书介绍了各种基本数据结构的定义、实现和应用。

通过本书的学习,读者可以深入理解数据结构的原理和应用,提高程序设计和问题解决的能力。

6、计算机网络电子工业出版社谢希仁编著计算机网络是计算机专业的重要课程之一,本书介绍了计算机网络的基本概念、协议、网络体系结构等方面的知识。

通过本书的学习,读者可以了解计算机网络的基本原理和应用,为后续深入学习网络编程和网络安全打下基础。

7、计算机组成原理高等教育出版社唐硕飞编著计算机组成原理是计算机专业的核心课程之一,介绍了计算机硬件的基本组成和工作原理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据类型:是一个值的集合和定义在该值上的 一组操作的总称。
抽象数据类型:由用户定义,用以表示应用问题的数 据模型。它由基本的数据类型构成,并包括一组相关 的服务(或称操作)
它与数据类型实质上是一个概念,但其特征是使用与 实现分离,实行封装和信息隐蔽(独立于计算机)
35
2 抽象数据类型如何定义
抽象数据类型可以用以下的三元组来表示: ADT = (D,R,P)
19
2、基本术语
(1)数据:所有能被计算机识别、存储和处理的符号的集合(包 括数字、字符、声音、图像等信息 )。
(2)数据元素:是数据的基本单位,具有完整确定的实际意义。 在计算机程序中通常作为一个整体进行考虑和处理。一个数 据元素可由若干个数据项组成。
(3)数据项:构成数据元素的项目。它是数据不可分割的最小单 位。
• 基本操作: InitQueue( &Q ) 操作结果:构造一个空队列Q。 DestroyQueue ( &Q ) 初始条件:队列Q已存在。 操作结果:销毁队列Q。
QueueLength( Q ) 初始条件:队列Q已存在。 操作结果:返回Q的数据元素个数,即队列的长
度。
38
1.5 算法效率的度量
内容 3.0 -2.3
2字节
法2:地址 0300
0302
内容 3.0
0415
0415 -2.3
27
解释3:什么是数据的运算? 答:在数据的逻辑结构上定义的操作算法。 它在数据的存储结构上实现。 最常用的数据运算有 5 种:
插入、删除、修改、查找、排序
28
练习 •1、设有数据逻辑结构为:line=(D,R);其中 D={01,02,03,04,05,06}; •R={r};
姓名
项目 1
项目 2
项目 3
丁一
跳高
跳远
100 米
马二
标枪
铅球
张三
标抢
100 米
200 米
李四
铅球
200 米
跳高
王五
跳远
200 米
11
非数值计算问题
----田径赛的时间安排问题解法
(1)设用如下六个不同的代号代表不同的项 目:
跳高 跳远 标枪 铅球 100米 200米
A BCD
EF
(2)用顶点代表比赛项目
(4)数据类型:指一个类型和定义在这个类型上的操作集合。例: C语言(基本类型:整型、浮点型、字符型等构造类型:数组、 结构、联合、指针、枚举等)
20
(5)抽象数据类型(Abstruct Data Type, 简称ADT):是指一个数学模型以及定 义在该模型上的一组操作。抽象数据类 型的定义取决于它的一组逻辑特性,而 与其在计算机内部如何表示和实现无关。 即不论其内部结构如何变化,只要它的 数学特性不变,都不影响其外部的使用。
22
数据结构涵盖的内容
23
解释1: 什么叫数据的逻辑结构?
答:指数据元素之间的逻辑关系。即从逻辑关系上描述 数据,它与数据的存储无关,是独立于计算机的。
逻辑结构可细分为4类:
集合结构: 仅同属一个集合
线性结构: 一对一(1:1) 线 性
树 结 构: 一对多(1:n) 图 结 构: 多对多 (m:n)
•r={<01,02>,<02,05>,<05,04>,<04,06>,<06,03>}.
•试分析该数据结构属于哪种逻辑结构。
•01->02->05->04->06->03 •线性结构
29
• 2、设有数据逻辑结构为tree={D,R},其中 D={01,02,03,04,05,06,07,08};
解:上述表达式可用图形表示为:
d1
d5
d2
该结构是非线性的。
d4
d3
26
解释2:什么叫数据的物理结构?
答:物理结构亦称存储结构,是数据的逻辑结构在计 算机存储器内的表示(或映像)。它依赖于计算机。
存储结构可分为4大类: 顺序、链式、索引、散列
例:复数3.0-2.3i 的两种存储方式:
法1:地址 0300 0302
主要考虑的是设计出合适的数据结 构及相应的算法。 即:首先要考虑对相关的各种信息如 何表示、组织和存储? 因此,可以认为:数据结构是一门研 究非数值计算的程序设计问题中计算 机的操作对象以及它们之间的关系和 操作的学科。
14
数据结构课程的形成和发展:
形成阶段: 60年代初期,“数据结构”有关的内容散 见于操作系统、编译原理和表处理语言等 课程。1968年,“数据结构”被列入美国 一些大学计算机科学系的教学计划。 发展阶段: 数据结构的概念不断扩充,包括了网络、 集合代数论、关系等“离散数学结构”的 内容。 70年代后期,我国高校陆续开设该课程。
15
课前的话——计算机系列课程之间的联系
计算机概论与上机操作(对 21 世纪公民要求)
程序设计与算法语言(BASIC FORTRAN PASCAL C 等,怎样使用计算机)
计算机组成原理(所有计算机的共性)
微机原理及应用(特定机型介绍,单片机或 8086 PC 机,怎样应用计算机)
控制之路
数据处理之路
汇编语言程序设计
数据结构
单片机技术/微机接口
操作系统
软件技术基础
数据库理论
计算机网络
软件工程
应用系统设计
计算机网络
16
数据结构课程的地位
它是计算机专业及相关专业的核心课 程之一,是计算机及相关专业的重要骨干 基础课程。
它针对非数值计算的程序设计问题, 研究计算机的操作对象以及它们之间的关 系和操作。即其研究目的是研究有效地组 织和处理非数值类型数据的理论、技术和 方法。
不能同时进行比赛的项目之间连上一条边。
(3)某选手比赛的项目必定有边相连(不能 同时比赛)。
12
姓名 丁一 马二 张三 李四 王五
项目1 A C C D B
项目2 B D E F F
项目3 E
F A
只需 安排四 个单位 时间进 行比赛
比赛 比赛项目 时间
1 A,C 2 B,D
3E
4F
13
非数值计算问题:
数据对象 D上的关系集 D上的操作集
ADT抽象数据类型名{
ADT 常用 定义 格式
数据对象:<数据对象的定义> 数据关系:<数据关系的定义> 基本操作 :<基本操作的定义>
} ADT抽象数据类型名
36
1.4.3 抽象数据类型如何表示和实现 抽象数据类型可以通过固有的数据类型(如整型、 实型、字符型等)来表示和实现。 (参看课本P28,线性表的抽象数据类型,思考用 具体C语言如何实现)
非数值计算问题:
例1.1 电话号码查询问题:
(1)按顺序存储方式:须遍历表 (2)按姓氏索引方式:索引
要写出好的查找算法,取决于这张表的 结构及存储方式。
电话号码表的结构和存储方式决定了查 找(算法)的效率。
10
非数值计算问题:
例1.2 田径赛的时间安排问题(无向图的 着色问题) :
设有六个比赛项目,规定每个选手至多可参加 三个项目,有五人报名参加比赛(如下表所示 )设计比赛日程表,使得在尽可能短的时间内 完成比赛。
讨论: 1 什么是算法?如何评判算法的好坏? 2 时间复杂度和空间复杂度如何表示? 3 计算举例
39
1 什么是算法?如何评判一个算法的好坏?
算法:是对特定问题求解步骤的一种描述,它是指令 的有限序列,是一系列输入转换为输出的计算步骤。
好的程序设计:好算法+好结构 算法的基本特性:有穷性、确定性、可行性、必有输出 算法评价指标: 正确性、可读性、健壮性、高效率与低存储量需求(见课本P20)
• R={r}; • r={<01,02>,<01,03>,<01,04>,<02,05>, <02,06>,<03,07>,<07,08>}.试分析该数据结
构属于哪种逻辑结构.
树型
30
作业
• 什么是逻辑结构与存பைடு நூலகம்结构,他们之间 的关系如何?
31
• 设有数据逻辑结构为:line=(D,R);其中 D={a,b,c,d,e,f,g};R={r};r={<a ,b>,<b,c>,<c,d>,<d,e>,<e,f>,<f,g>}. 试画出对应的图形并说明属于哪种逻辑 结构.
什么是程序、软件?
N.沃思(Niklaus Wirth)教授提出: 程序=算法+数据结构
以上公式说明了如下两个问题: (1)数据上的算法决定如何构造和组织数据 (算法→数据结构)。 (2)算法的选择依赖于作为基础的数据结构 (数据结构→算法)。
软件=程序+文档(软件工程的观点)
7
电子计算机的主要用途:
(6)抽象数据元素:抽象定义的、没有实际 含义的数据元素。
21
2、基本术语 (续)
(7)数据结构:是相互之间存在一种或多种特定关系的数据元素 的集合。或按照一定逻辑关系组织,并按一定存储方法存储 的数据的集合,且需要定义一系列运算。逻辑结构、存储结 构和运算合称为三要素。表示为: Data_Structure=(D, R) 其中,D—元素有限集,R—关系有限集
数据结构
教材: 朱战立编著,数据结构——使用 C语言(第3版),西安交通大 学出版社,2003年
学时数:70(50学时授课+20学时上机)
教材:朱战立编著,数据结构(使用C语言)第 3版,西 安交通大学出版社 ,2003年
相关文档
最新文档