数据结构~
研究内容
在计算机科学中,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。
“数据结构”作为一门独立的课程在国外是从1968年才开始设立的。 1968年美国唐纳德·克努特(Donald Ervin Knuth)教授开创了数据结构的最初体系,他所著的《计算机程序设计艺术》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课,数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。
计算机科学是一门研究用计算机进行信息表示和处理的科学。这里面涉及到两个问题:信息的表示,信息的处理 。
而信息的表示和组织又直接关系到处理信息的程序的效率。随着计算机的普及,信息量的增加,信息范围的拓宽,使许多系统程序和应用程序的规模很大,结构又相当复杂。因此,为了编写出一个“好”的程序,必须分析待处理的对象的特征及各对象之间存在的关系,这就是数据结构这门课所要研究的问题。众所周知,计算机的程序是对信息进行加工处理。在大多数情况下,这些信息并不是没有组织,信息(数据)之间往往具有重要的结构关系,这就是数据结构的内容。数据的结构,直接影响算法的选择和效率。
计算机解决一个具体问题时,大致需要经过下列几个步骤:首先要从具体问题中抽象出一个适当的数学模型,然后设计一个解此数学模型的算法(Algorithm),最后编出程序、进行测试、调整直至得到最终解答。
寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。当人们用计算机处理数值计算问题时,所用的数学模型是用数学方程描述。所涉及的运算对象一般是简单的整形、实型和逻辑型数据,因此程序设计者的主要精力集中于程序设计技巧上,而不是数据的存储和组织上。然而,计算机应用的更多领域是“非数值型计算问题”,它们的数学模型无法用数学方程描述,而是用数据结构描述,解决此类问题的关键是设计出合适的数据结构,描述非数值型问题的数学模型是用线性表、树、图等结构来描述的。
计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。运算是由计算机来完成,这就要设计相应的插入、删除和修改的算法 。也就是说,数据结构还需要给出每种结构类型所定义的各种运算的算法。
数据是信息的载体,是可以被计算机识别存储并加工处理的描述客观事物的信息符号的总称。所有能被输入计算机中,且能被计算机处理的符号的集合,它是计算机程序加工处理的对象。客观事物包括数值、字符、声音、图形、图像等,它们本身并不是数据,只有通过编码变成能被计算机识别、存储和处理的符号形式后才是数据。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体考虑。一个数据元素由若干个数据项组成。数据项是数据结构中讨论的最小单位。有两类数据元素:若数据元素可再分,则每一个独立的处理单元就是数据项,数据元素是数据项的集合;若数据元素不可再分,则数据元素和数据项是同一概念,如:整数"5",字符 “N” 等。例如描述一个学生的信息的数据元素可由下列6个数据项组成。其中的出生日期又可以由三个数据项:“年”、"月"和"日"组成,则称"出生日期"为组合项,而其它不可分割的数据项为原子项。
关键字指的是能识别一个或多个数据元素的数据项。若能起唯一识别作用,则称之为 “主” 关键字,否则称之为 “次” 关键字。
数据对象是性质相同的数据元素的集合,是数据的一个子集。数据对象可以是有限的,也可以是无限的。
数据处理是指对数据进行查找、插入、删除、合并、排序、统计以及简单计算等的操作过程。在早期,计算机主要用于科学和工程计算,进入八十年代以后,计算机主要用于数据处理。据有关统计资料表明,计算机用于数据处理的时间比例达到80%以上,随着时间的推移和计算机应用的进一步普及,计算机用于数据处理的时间比例必将进一步增大。

自学数据结构_五月十日_综述相关推荐

  1. 什么是好的数据结构_入门篇|我一个学渣是如何一步步自学数据结构的?

    来源 |  一个不甘平凡的码农   链接: https://mp.weixin.qq.com/s/b--HVdmySAHb-wKAB3ZcbA    写在前边 -------------------- ...

  2. c语言while求a和b的和程序,数据结构实验1_C语言_输入集合A和B求并集、交集、差集(while +...

    数据结构实验1_C语言_输入集合A和B求并集.交集.差集(while + 数据结构实验1_C语言_输入集合A和B求并集.交集.差集(while + switch + 功能函数)) 实验1 (1)实验目 ...

  3. 数据结构C语言版(清华大学_唐国民_第3版)单链表

    //数据结构C语言版(清华大学_唐国民_第3版) //单链表功能实现,书 P25 例子2.3.3,与书上代码有些许出入,不用在意,重要的是思路 #include<stdio.h> #inc ...

  4. C语言学习趣事_之_大数运算_加法

    C语言学习趣事_大数运算_之加法 1.引子    在C语言中,因为预定义的自然数类型的大小是有上下限度的,这就决定了在进行数的运算的时候,必然受到限制,同时因为C语言是最接近汇编的一种程序设计语言,并 ...

  5. Redis 学习笔记-NoSQL数据库 常用五大数据类型 Redis配置文件介绍 Redis的发布和订阅 Redis_事务_锁机制_秒杀 Redis应用问题解决 分布式锁

    1.NoSQL数据库 1.1 NoSQL数据库概述 NoSQL(NosQL = Not Only sQL ),意即"不仅仅是sQL",泛指非关系型的数据库.NoSQL不依赖业务逻辑 ...

  6. 北京化工大学计算机专业就业,北京化工大学特色专业介绍_计算机科学与技术_专业课程介绍_专业排名_就业方向...

    北京化工大学特色专业介绍_计算机科学与技术_专业课程介绍_专业排名_就业方向 本专业是任何行业和领域所需的数字信息处理专业.计算机信息技术发展的趋势是多功能化.高效率.高可靠性,它更广泛的适用性和更强 ...

  7. 团队口号_激励口号_口号大全分享到:

    团队口号_激励口号_口号大全分享到: 2011年06月14日 1,(部门名称)一零订单起,团结一致夺第一 2,不吃饭,不睡觉,打起精神赚钞票 3,十年(公司名称),群雄逐鹿,第一永属,(部门名称)加油 ...

  8. 齐鲁师范学院计算机专业师资,齐鲁师范学院特色专业介绍_计算机科学与技术_专业课程介绍_专业排名_就业方向...

    齐鲁师范学院特色专业介绍_计算机科学与技术_专业课程介绍_专业排名_就业方向 学科:工学 门类:电气信息类 专业名称:计算机科学与技术 业务培养目标:本专业培养具有良好的科学素养,系统地.较好地掌握计 ...

  9. 河北科技师范学院计算机科学与技术,河北科技师范学院特色专业介绍_计算机科学与技术_专业课程介绍_专业排名_就业方向...

    河北科技师范学院特色专业介绍_计算机科学与技术_专业课程介绍_专业排名_就业方向 学科:工学 门类:电气信息类 专业名称:计算机科学与技术 业务培养目标:本专业培养具有良好的科学素养,系统地.较好地掌 ...

最新文章

  1. 切割图形_模型教程丨切割机使用——结合实例
  2. 阿里某员工面试华为后吐槽:面试官太水,反问几句都答不上来
  3. 【机器学习入门】图解超经典的KNN算法
  4. 对Bootloader(引导加载程序)的几点理解
  5. “约见”面试官系列之常见面试题之第八十九篇之vue生命周期作用(建议收藏)
  6. Linux ext3默认块大小,linux – ext3 / ext4物理块大小视图
  7. 如何在定制化组件中实现并使用v-model
  8. centos7 安装docker-ce ,最新版本docker,docker阿里云加速
  9. Atitit 读取文件并处理目录1.1. 3. 以二进制读取 fread取代fgets 11.2. 4.将整个文件读入到一个字符串的方法 file_get_contents() 11.3.
  10. npm 更新_npm 的安全困扰:仅有 9.27% 的 npm 开发者使用 2FA
  11. Cas单点登录常见问题总结
  12. 微软模拟飞行2020服务器多少内存,《微软模拟飞行2020》到底有多大?我们的硬盘装得下吗?...
  13. Python 实验三 使用 TCP 实现智能聊天机器人
  14. word打开wps文件乱码_Word文档打开是乱码怎么解决
  15. r语言中形成的c函数,R语言_par()函数用法
  16. 我的个人知识管理PKM
  17. 文字跳跃率与图片跳跃率
  18. 脱壳笔记-手工脱FSG压缩壳
  19. 白话斯坦福机器学习课程-CS229 - 监督学习应用:梯度下降
  20. GNS3 2.1.21详细安装教程

热门文章

  1. matlab for循环教程,Matlab for循环使用操作教程分享
  2. android html 文件怎么打开,Android可以用Html查看器打开txt文件
  3. 紫光国微财报一枝独秀 2021年净利润三位数增长靠什么
  4. 2019 CCCC 天梯赛 杭州站 历程
  5. 先进后出的数据结构-栈 一
  6. CentOS7系统下Java环境和tomcat的安装
  7. IDEA build时提示错误信息: java: System Java Compiler was not found in classpath
  8. 车辆姿态角(Euler角)Pitch、Yaw、Roll 的设定
  9. 制作多系统启动盘教程_u盘启动盘制作工具教程
  10. 嵌入式系统和嵌入式操作系统