- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-第章.ppt
北京邮电大学电信工程学院计算机技术中心 数据结构 第1章 绪论 北京邮电大学电信工程学院 计算机技术中心 数据结构 任课教师 徐雅静 Email :phoenix-jing@263.net 办公室:教2-415 电话:2100 数据结构 一、学习方法 勤于思考、亲手实践 二、课程组成 实验:30分 平时作业: 10分 期末考试:60分 数据结构 数据结构是什么? 数据结构是人们在长期写程序的过程中总结出来的对数据组织,数据操作方面的精华 数据结构 为什么要学习数据结构? 数据结构就是教你怎样用最精简的语言,利用最少的资源(包括时间和空间)编写出最优秀最合理的程序。 换句话说数据结构存在的意义就是使程序最优化。 思考题 题目: 已知有n个整数的序列,查找指定数值key是否在该序列中,如果存在,找出该数值在序列中的位置。 算法实现 int search(int a[], int n, int key) { int i; for (i=0; in; i++) if(a[i]==key) return i+1; return 0; } 分析程序耗时的关键点 int search(int a[], int n, int key) { for (int i=0; in; i++) if(a[i]==key) return i+1; return 0; } 经典的顺序查找 int search(int a[], int n, int key) { a[0] = key; for (int i=n; a[i]!=key ; i--); return i; } 总结 我们做了哪些事情? 1 数据组织 2 数据操作(处理数据的策略) 3 分析程序执行效率 4、优化 教学要求 提高分析能力 分析计算机处理的数据特性 选择合理的逻辑结构、存储结构及相应算法 初步掌握算法的时间和空间分析的技术 数据抽象能力 提高实践能力 编程结构清楚,正确易读。 优化程序 课程安排:共40课时 1 绪论 2 线性表 3 栈、队列、串 4 多维数组 5 树和二叉树 6 图 7 查找 8 排序 第一章 绪论 计算机能够处理哪些问题? 数值计算 非数值计算:控制、管理、数据分析等 数据结构用来解决非数值计算问题,包括 如何组织数据? 如何操作数据? 1.1 数据结构的发展 起源 1968年克努思教授开创了数据结构的最初体系,著作《计算机程序设计艺术》 20世纪70年代,数据结构进入大学课堂 1.1 数据结构的发展 发展 1971年Niklaus Wirth提出结构化程序设计,并给出了一个著名公式: 算法 + 数据结构 = 程序 Algorithm + Data Structures = Programs 算法: 处理问题的策略 数据结构: 问题的数学模型 程序: 为计算机处理问题编制一组指令集 1.1 数据结构的发展 目前 面向对象阶段的数据结构采用: 思想:1)数据之间的关系 2)针对这些关系的操作 1.2 数据结构的研究对象 问题的引入 计算机解决一个具体问题的步骤 抽象出问题模型 提取对象 找出关系 自然语言描述 设计算法 编程调试 1.2 数据结构的研究对象 举例 1、学籍管理 2、人机对弈 3、电话号码查询问题 4、田径赛的时间安排问题 非数值计算问题的描述和处理 例1 学籍管理问题 非数值计算问题的描述和处理 例3:电话号码查询问题 题目 编写一个程序,查询某个城市或单位的私人电话号码。对于任意给出一个姓名,若他有电话号码,则要迅速找到其电话号码。 提示: 1、电话号码表的存储结构 2、针对不同的结构的查找算法 例3 :电话号码查询问题 方法一 数据结构: 无规则的任意排列 算法: 从头开始顺序查找 缺点: 查找速度慢 例3 :电话号码查询问题 方法二 数据结构 建立索引表 算法 分块查找 优点 执行效率提高 例3 :电话号码查询问题 扩展思维 如果要求按电话号码查询人名,如何设计存储结构和算法? 数据结构——建模 数据结构——分析 数据结构——存储实现 如何存储这张图? 数组? 数据结构——算法实现 算法 1)如何生成图中结点的关系? 2)如何判断图中结点是否相联? 3)…… 数据结构——算法实现 扩展思维 地图染色问题 地图上相
您可能关注的文档
- 手机特殊处理及退换机业务.ppt
- 手机盖板外观检验手册.xls
- 手机耗电性能测试系统.ppt
- 手疗把自己“捏”漂亮.doc
- 手的检查基本技能操作.ppt
- 手神门穴.doc
- 手竿的分类.doc.doc
- 手绘POP培训.ppt
- 手绘pop字的培训.ppt
- 手绘POP教学.ppt
- 2024年沧州市公务员考试行测真题及答案详解(名师系列).docx
- 粮油食品检验人员复习提分资料带答案详解(精练).docx
- 粮油食品检验人员自我提分评估(考点精练)附答案详解.docx
- 粮油食品检验人员全真模拟模拟题附参考答案详解(精练).docx
- 2025年延安市公务员考试行测试卷历年真题附答案详解(突破训练).docx
- 2025年株洲市公务员考试行测试卷历年真题含答案详解.docx
- 2024年枣庄市公务员考试行测真题及完整答案详解1套.docx
- 2024年抚顺市公务员考试行测真题及答案详解(各地真题).docx
- 2025年常州市公务员考试行测真题及一套参考答案详解.docx
- 2023年德州市公务员考试行测试卷历年真题及1套完整答案详解.docx
文档评论(0)