【第22期】观点:IT 行业加班,到底有没有价值?

常用的数据结构以及算法

转载 2016年08月30日 21:24:56

一、关于数据的几个概念 

1、数据。是对客观事物的符号表示。在计算机科学是指所有能够输入到计算机中并能被计算机程序处理的符号集合。包括数值、文字、图像、图像、音频、视频等形式。 

2、数据项。所谓数据项就是数据中具有独立含义的、不可再分割的最小数据单位。是客观实体一种特征的数据表示。 

3、数据元素。是多个相关数据项的集,是一个客观实体多种特征的数据描述,是计算机程序中加工处理的基本单位。 

数据元素按其组成可分为简单型数据元素和复杂型数据元素。简单型数据元素由一个 数据项组成,复杂型数据元素由多个数据项组成,它通常携带着一个概念的多方面信 

息。 

二、数据结构的几个概念。 

1、数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合。 

可以简单表示为:数据结构 = 数据 + 关系 

同一数据元素集合,所定一的关系不同,构成不同的数据结构。 

数据结构包括逻辑结构和存储结构两个方面。 

2、数据的逻辑结构。是指对数据及其关系的抽象逻辑描述,对立与计算机,与机器实现无关。 

根据定义的关系不同,数据的逻辑结构分为四种: 

集合结构。数据元素之间未定义任何关的松散集合。 

线性结构。数据元素之间定义了次序关系的集合(全序集合),描述的是1对1关系。 

树形结构。数据元素之间定义了层次关系的集合(偏序集合),描述的是1对多关系。 

图状结构。数据元素之间定义了网状关系的集合,描述的是多对多关系。 

3、数据的存储结构(亦成物理结构)是指数据结构在计算机存储器中的具体实现。 

存储结构与孤立的数据元素表示形式不同,数据结构中的数据元素不但要表示其本身的实际内容,还要表示清楚数据元素之间的逻辑结构。 

常见的存储结构有: 

顺序存储结构:特点是借助于数据元素的相对存储位置来表示数据元素之间的逻辑结构; 

链式存储结构:特点是借助于指示数据元素地址的指针表示数据元素之间的逻辑结构。 

散列存储结构:顺序+算列。 

索引存储结构:顺序+索引。

数据元素相互之间的关系称为结构。有四类基本结构:集合、线性结构、树形结构、图状结构; 

集合结构:除了同属于一种类型外,别无其它关系线性结构:元素之间存在一对一关系常见类型有: 数组,链表,队列,栈,它们之间在操作上有所区别.例如:链表可在任意位置插入或删除元素,而队列在队尾插入元素,队头删除元素,栈只能在栈顶进行插入,删除操作. 

树形结构:元素之间存在一对多关系,常见类型有:树(有许多特例:二叉树、平衡二叉树、查找树等) 图形结构:元素之间存在多对多关系,图形结构中每个结点的前驱结点数和后续结点多个数可以任意复杂算法都由最基本的组成,   

最基本的自然用得最多:查找、排序、二叉树遍历...

1   用的最多也是最简单的数据结构是   线性表   
2   有前途的又难数据结构是   图   
3   常用的80%算法是   排序和查找  

举报

相关文章推荐

数据结构+算法

1.符号 O ≤ Ω ≥ θ = o 2.最大子序列和(4种算法)+折半查找【判断一个已排序好的集合中是否存在该元素】+欧几里算法【gcd(50,15)求两数的最大公倍数】+幂运算 3.抽象...

数据结构:算法

程序设计=数据结构+算法 算法的定义:算法是解决特定问题求解步骤的描述,在计算机中为指令的有限序列,并且每条指令表示一个或多个操作。 算法的特性: 输入输出 :0个或多个输入,至少一个输出,输...

数据结构-算法

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法的特性算法有五个基本特性:输入、输出、有穷性、确定性和可行性。输入输出 算法具有零个或多个输入 算...

数据结构方面

heap是堆,stack是栈 堆上的空间是用户手动分配和释放,有很大的自由存储区,c的malloc函数,c++的new操作符分配在堆上。python面向对象 malloc与free是C++/C语言...

数据结构之图详解

图的建立: 大家都知道一般创建图可以用两种存储结构:邻接矩阵和邻接表。这里我们采取邻接矩阵的方法。。这两种具体的结构在这里不介绍了。 struct MyGraphic { int vertex,ed...

数据结构与算法的理解

数据结构数据结构研究的是: 如何将现实生活中,大量而复杂的问题,以特定的数据类型和特定的存储结构保存到内存中,以及对数据进行的一些相关操作。通俗解释: 因为现实生活中,有大量复杂的问题,这些问题当...

数据结构的分类

数据的逻辑结构可分为两大类:一类是线性结构,一类是非线性结构。线性结构中有且仅有一个开始结点和一个终端结点,并且所有的结点最多只能有一个前驱和一个后继。线性表是典型的线性结构。非线性结构的一个结点可能...

数据结构基本定义

一、何为数据结构: 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。 基本概念与术语: 数据 何为数据:它是描述客观事物的符号,是计算机中可以操作的对...

数据结构

1.栈和队列的共同特点是(只允许在端点处插入和删除元素) 4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5.下列关于栈的叙述正确的是(D)      A.栈是非线性结构B.栈是一...

c#常用数据结构解析

前言: 可能去过小匹夫博客的盆油们读过这篇对于数据结构的总结,但是小匹夫当时写那篇文章的时候略有匆忙,所以今天进行了一些增改,重新发表在蛮牛。作为程序猿,对于常见的数据结构的掌握是非常必要的,也许这...
  • suifcd
  • suifcd
  • 2015-01-19 09:27
  • 7753
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)