数据结构与算法一
2015-07-16 16:43
225 查看
算法与数据结构之于程序设计的重要性不言自明。那么,什么是算法?什么是数据结构?什么又是程序呢?我们先从阐明大家最为熟悉的“程序”的概念入手。
1)程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功能,以实现某种任务;
2)再来看什么是算法,算法是程序的逻辑抽象,是解决某类客观问题的数学过程;
3)最后我们来看一看数据结构又是什么呢?在这里,数据结构具有两个层面上的涵义--逻辑结构和物理结构:客观事物
自身所具有的结构特点,我们将其称之为逻辑结构。如家族谱系是一个天然的树型逻辑结构。而逻辑结构在计算机中的具体实现则称之为物理结构,如树型逻辑结构是用指针表示还是使用数组实现。
仔细体会一下,就会发现算法与数据结构间的紧密性。用一个较为贴切的例子来形容,若把数据结构喻为建筑工程中的建筑设计图,那么算法就是工程中的施工流程图。数据结构与算法呈相互依托的关系,恰当的确立了问题的结构,问题的解决才能根据确立的层次结构选择合适的解决方法。因此任何讲解数据结构的书都不可能撇开算法,单单介绍数据结构,反之亦然。
数据结构由数据和结构组成,它是一门研究非数值计算的程序设计问题中计算机的操作对象,以及它们之间的关系和操作等的学科。
是的。早期人们都把计算机理解为数值计算工具,就是感觉计算机当然是用来计算的,所以计算机解决问题,应该是先从具体问题中抽象出一个适当的数据模型,设计出一个解此数据模型的算法,然后再编写程序,得到一个实际的软件。可现实中,我们更多的不是解决数值计算的问题,而是需要一些更科学有效的手段(比如表、树和图等数据结构)的帮助,才能更好地处理问题。所以数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。
数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。对于整型、实型等数值类型,可以进行数值计算。对于字符数据类型,就需要进行非数值的处理。而声音、图像、视频等其实是可以通过编码的手段变成字符数据来处理的。对于整型、实型等数值类型,可以进行数值计算。对于字符数据类型,就需要进行非数值的处理。而声音、图像、视频等其实是可以通过编码的手段变成字符数据来处理的。
数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。在数据结构这门课程中,我们把数据项定义为最小单位,是有助于我们更好地解决问题。所以,记住了,数据项是数据的最小单位。但真正讨论问题时,数据元素才是数据结构中建立数据模型的着眼点。就像我们讨论一部电影时,是讨论这部电影角色这样的“数据元素'
而不是针对这个角色的姓名或者年龄这样的“数据项”去研究分析。
数据对象:是性质相同的数据元素的集合,是数据的子集。结构,简单的理解就是关系,比如分子结构,就是说组成分子的原子之间的排列方式。严格点说,结构是指各个组成部分相互搭配和排列的方式。在现实世界中,不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称为结构。
那数据结构是什么?数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。在计算机中,数据元素并不是孤立、杂乱无序的,而是具有内在联系的数据集合。数据元素之间存在的一种或多种特定关系,也就是数据的组织形式。为编写出一个“好”的程序,必须分析待处理对象的特性及各处理对象之间存在的关系。这也就是研究数据结构的意义所在。
数据(data) 是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中的,并且能被计算机程序处理的符号的总称。 数据可分为两大类:一类是数值数据,包括整数、实数等;另一个类是非数值数据,包括图形、图像、声音、文字等。
数据对象(data object) 是性质相同的数据元素的集合,是数据的一个子集。
数据元素(data element) 是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
有时,一个数据元素可由若干个数据项(data item)组成,数据项是构成数据元素的不可分割的最小单位。
1)程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功能,以实现某种任务;
2)再来看什么是算法,算法是程序的逻辑抽象,是解决某类客观问题的数学过程;
3)最后我们来看一看数据结构又是什么呢?在这里,数据结构具有两个层面上的涵义--逻辑结构和物理结构:客观事物
自身所具有的结构特点,我们将其称之为逻辑结构。如家族谱系是一个天然的树型逻辑结构。而逻辑结构在计算机中的具体实现则称之为物理结构,如树型逻辑结构是用指针表示还是使用数组实现。
仔细体会一下,就会发现算法与数据结构间的紧密性。用一个较为贴切的例子来形容,若把数据结构喻为建筑工程中的建筑设计图,那么算法就是工程中的施工流程图。数据结构与算法呈相互依托的关系,恰当的确立了问题的结构,问题的解决才能根据确立的层次结构选择合适的解决方法。因此任何讲解数据结构的书都不可能撇开算法,单单介绍数据结构,反之亦然。
数据结构由数据和结构组成,它是一门研究非数值计算的程序设计问题中计算机的操作对象,以及它们之间的关系和操作等的学科。
是的。早期人们都把计算机理解为数值计算工具,就是感觉计算机当然是用来计算的,所以计算机解决问题,应该是先从具体问题中抽象出一个适当的数据模型,设计出一个解此数据模型的算法,然后再编写程序,得到一个实际的软件。可现实中,我们更多的不是解决数值计算的问题,而是需要一些更科学有效的手段(比如表、树和图等数据结构)的帮助,才能更好地处理问题。所以数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。
数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。对于整型、实型等数值类型,可以进行数值计算。对于字符数据类型,就需要进行非数值的处理。而声音、图像、视频等其实是可以通过编码的手段变成字符数据来处理的。对于整型、实型等数值类型,可以进行数值计算。对于字符数据类型,就需要进行非数值的处理。而声音、图像、视频等其实是可以通过编码的手段变成字符数据来处理的。
数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。在数据结构这门课程中,我们把数据项定义为最小单位,是有助于我们更好地解决问题。所以,记住了,数据项是数据的最小单位。但真正讨论问题时,数据元素才是数据结构中建立数据模型的着眼点。就像我们讨论一部电影时,是讨论这部电影角色这样的“数据元素'
而不是针对这个角色的姓名或者年龄这样的“数据项”去研究分析。
数据对象:是性质相同的数据元素的集合,是数据的子集。结构,简单的理解就是关系,比如分子结构,就是说组成分子的原子之间的排列方式。严格点说,结构是指各个组成部分相互搭配和排列的方式。在现实世界中,不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称为结构。
那数据结构是什么?数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。在计算机中,数据元素并不是孤立、杂乱无序的,而是具有内在联系的数据集合。数据元素之间存在的一种或多种特定关系,也就是数据的组织形式。为编写出一个“好”的程序,必须分析待处理对象的特性及各处理对象之间存在的关系。这也就是研究数据结构的意义所在。
数据 data | |||||||
数据对象 data object | |||||||
数据元素 data element | 数据元素 | 数据元素 | 数据元素 | ||||
数据项 data item | 数据项 | 数据项 | 数据项 | 数据项 | 数据项 | 数据项 | 数据项 |
数据对象(data object) 是性质相同的数据元素的集合,是数据的一个子集。
数据元素(data element) 是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
有时,一个数据元素可由若干个数据项(data item)组成,数据项是构成数据元素的不可分割的最小单位。
相关文章推荐
- 线索化二叉树
- 跟我学数据结构之基本概念
- C++一些基本数据结构:字面常量、符号常量、枚举常量
- List中的每个元素,两两为一对(不包括自身)组合
- 数据结构基础 之 二叉堆 概念篇
- 《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度
- 《大话数据结构》第2章 算法基础 2.8 函数的渐近增长
- 《大话数据结构》第1章 数据结构绪论 1.2 你数据结构怎么学的?
- 《大话数据结构》第1章 数据结构绪论 1.1 开场白
- PAT 数据结构 06-图5. 旅游规划(25)Dijkstra最短路径算法
- 数据结构(一)顺序表、链表以及队列
- 第13章 数据结构基础
- 高级数据结构-树状数组总结
- 转载: 数据结构之图(存储结构、遍历)
- 数据结构基础 之 二叉堆实现堆排序
- 二叉树的存储结构与前序遍历(中序/后序原理一样)
- 《数据结构》--线性表
- 《数据结构》--和多项式链表
- java 数据结构基本算法希尔排序
- 数据结构 ---- 二叉搜索树