知识大全 概论- 学习数据结构的意义

Posted 项目

篇首语:事常与人违,事总在人为。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 概论- 学习数据结构的意义相关的知识,希望对你有一定的参考价值。

  数据结构是计算机软件和计算机应用专业的核心课程之一 在众多的计算机系统软件和应用软件中都要用到各种数据结构 因此 仅掌握几种计算机语言是难以应付众多复杂的课题的 要想有效地使用计算机 还必须学习数据结构的有关知识

  选择合适数据结构解决应用问题

   计算机处理问题的分类

  ( )数值计算问题

  在计算机发展初期 人们使用计算机主要是处理数值计算问题

  【例 】线性方程的求解

  该类问题涉及的运算对象是简单的整型 实型或布尔型数据 程序设计者的主要精力集中于程序设计的技巧 无须重视数据结构

  ( )非数值性问题

  随着计算机应用领域的扩大和软 硬件的发展 非数值性问题 越来越显得重要 据统计 当今处理非数值性问题占用了 %以上的机器时间 这类问题涉及到的数据结构更为复杂 数据元素之间的相互关系一般无法用数学方程式加以描述 因此 解决此类问题的关键已不再是分析数学和计算方法 而是要设计出合适的数据结构 才能有效地解决问题

   非数值问题求解

  著名的瑞士计算机科学家沃思(N Wirth)教授曾提出

  算法+数据结构=程序

  数据结构 是指数据的逻辑结构和存储结构

  算法 是对数据运算的描述

  程序设计的实质是对实际问题选择一种好的数据结构 加之设计一个好的算法 而好的算法在很大程度上取决于描述实际问题的数据结构

  【例 】电话号码查询问题

  编一个查询某个城市或单位的私人电话号码的程序 要求对任意给出的一个姓名 若该人有电话号码 则迅速找到其电话号码;否则指出该人没有电话号码

  要解此问题首先构造一张电话号码登记表 表中每个结点存放两个数据项 姓名和电话号码

  要写出好的查找算法 取决于这张表的结构及存储方式 最简单的方式是将表中结点顺序地存储在计算机中 查找时从头开始依次查对姓名 直到找出正确的姓名或是找遍整个表均没有找到为止 这种查找算法对于一个不大的单位或许是可行的 但对一个有成千上万私人电话的城市就不实用了 若这张表是按姓氏排列的 则可另造一张姓氏索引表 采用如下图所示的存储结构 那么查找过程是先在索引表中查对姓氏 然后根据索引表中的地址到电话号码登记表中核查姓名 这样查找登记表时就无需查找其它姓氏的名字了 因此 在这种新的结构上产生的查找算法就更为有效

  

>

  【例 】田径赛的时间安排问题

  假设某校的田径选拔赛共设六个项目的比赛 即跳高 跳远 标枪 铅球 米和 米短跑 规定每个选手至多参加三个项目的比赛 现有五名选手报名比赛 选手所选择的项目如参赛选手比赛项目表所示 现在要求设计一个竞赛日程安排表 使得在尽可以短的时间内安排完比赛

  ( )为了能较好地解决这个问题 首先应该选择一个合适的数据结构来表示它 表示该问题的数据结构模型图如右下图(图中顶点代表竞赛项目 在所有的两个不能同时进行比赛的项目之间连上一条边) 显然同一个选手选择的几个项目是不能在同一时间内比赛的 因此该选手选择的项目中应该两两有边相连

  ( )竞赛项目的时间安排问题可以抽象为对无向图进行 着色 操作 即用尽可能少的颜色去给图中每个顶点着色 使得任意两个有边连接的相邻顶点着上不同的颜色 每一种颜色表示一个比赛时间 著上同一种颜色的顶点是可以安排在同一时间内竞赛的项目 由此可得 只要安排 个不同的时间竞赛即可 时间 内可以比赛跳高(A)和标枪(C) 时间 内可以比赛跳远(B)和铅球(D) 时间 和时间 内分别比赛 米(E)和 米(F)

  解决问题的一个关键步骤是 选取合适的数据结构表示该问题 然后才能写出有效的算法

  

> cha138/Article/program/sjjg/201311/23528

相关参考

知识大全 数据结构精品课程

数 据 结 构概论基本概念和术语基本概念和术语(一)习题练习答案概论基本概念和术语(二)学习数据结构的意义学习数据结构的意义算法的描述和分析算法的描述和分析线性表线性表的

知识大全 数据结构概论之基本概念和术语

基本概念  数据(Data)信息的载体它能够被计算机识别存储和加工处理  数据元素(DataElement)是数据的基本单位  数据项(DataItem)具有独立意义的最小数据单位是对数据元素属性的描

知识大全 怎么样用一个月的时间 去学习《文学概论(一)》

怎么样用一个月的时间去学习《文学概论(一)》自学考试的话,有自学考试大纲和资料哈。最好是将每一章的重点抓出来,然后参考考试大纲,再提炼出重点。将重点抓住之后然后再去找模拟考试试卷。如果是自学考试的话,

知识大全 请问学习计算机软件都需要什么专业教材

请问学习计算机软件都需要什么专业教材学习计算机软件都需要的专业教材《计算机导论》,《C语言程序设计》《数据结构》《离散数学》,《数据库概论》,《VB程序设计》,《软件工程》《计算机组成原理》。计算机是

知识大全 自考知识点总汇之--数据结构导论(概论)

第一章概论cha138/Article/program/sjjg/201311/23218

知识大全 数据结构复习总结第一章概论

  第一章概论  基本概念和术语  数据是信息的载体能被计算机识别存储和加工处理  数据元素是数据的基本单位可由若干个数据项组成数据项是具有独立含义的最小标识单位  数据结构包括)数据的逻辑结构从逻辑

知识大全 数据结构与算法概论复习习题[1]

  第章 绪论  简述下列术语数据数据元素数据对象数据结构存储结构数据类型和抽象数据类型  解数据是对客观事物的符号表示在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称 

知识大全 选择合适数据结构解决应用问题(概论)

选择合适数据结构解决应用问题.计算机处理问题的分类()数值计算问题  在计算机发展初期人们使用计算机主要是处理数值计算问题【例.】线性方程的求解  该类问题涉及的运算对象是简单的整型实型或布尔型数据程

知识大全 数据结构与算法概论复习习题[2]

      在程序设计中常用下列三种不同的出错处理方式  ()用exit语句终止执行并报告错误  ()以函数的返回值区别正确返回或错误返回 

知识大全 数据结构概论之算法的描述和分析[2]

  循环语句    WHILE(条件)    语句    DO     语句    WHILE(条件)    FOR(初始条件;终结条件;语句)     语句  函数    所有算法以如下函数形式表示