常用的数据结构以及算法

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

一、关于数据的几个概念 

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

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

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

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

息。 

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

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

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

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

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

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

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

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

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

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

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

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

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

常见的存储结构有: 

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

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

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

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

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

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

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

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

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

数据结构与算法分析之----各种常用排序详解

数据结构排序算法介绍
  • u013393962
  • u013393962
  • 2016年04月05日 12:11
  • 3689

数据结构和常用算法

1. 常见数据结构 人们进行程序设计时通常关注两个重要问题,一是如何将待处理的数据存储到计算机内存中,即数据表示;二是设计算法操作这些数据,即数据处理。数据表示的本质是数据结构设计,数据处理的本质是...
  • miracle_gu
  • miracle_gu
  • 2015年10月02日 14:04
  • 4566

数据结构中常用算法

排序常用的算法有:插入算法(直接插入算法、折半插入算法、希尔算法)、选择算法(简单选择算法、堆排序算法)、快速算法(冒泡排序、快速排序算法) 以下程序给出了各种算法的实现,其接口为void sort...
  • ProgramVAE
  • ProgramVAE
  • 2016年12月02日 16:55
  • 520

Android程序员必备-数据结构与算法之快速排序(一)

快速排序算法
  • NTSDB
  • NTSDB
  • 2016年10月04日 00:54
  • 1434

常见数据结构与算法整理总结

一、线性表 线性表是最常用且最简单的一种数据结构,它是n个数据元素的有限序列。 实现线性表的方式一般有两种,一种是使用数组存储线性表的元素,即用一组连续的存储单元依次存储线...
  • yan_liwei
  • yan_liwei
  • 2017年03月05日 18:45
  • 431

常见算法与数据结构整理

校招季自己整理的相关知识点,会一直更新。 一、动态规划 主要思路:先确定优化方程,再确定递推关系 1、最长公共字串(LCS) X,Y的公共字串为Z,Z中的字符串在X,Y中不一定要连续出现,但是...
  • mantianpiaoling
  • mantianpiaoling
  • 2016年07月21日 16:45
  • 1597

java中常用的几种数据结构

数据结构: 一.链表      1.链表与数组的区别         数组在使用之前必须定义大小,而且不能动态定义大小,会造成给数组分配了太多的单元而浪费了宝贵的资源,糟糕的一面是,程序运行时需要处理...
  • caiwanxia1
  • caiwanxia1
  • 2016年11月01日 10:46
  • 932

常用数据结构和算法操作效率的对比总结

前面介绍了经典的数据结构和算法,这一节我们对这些数据结构和算法做一个总结,具体细节,请参见各个章节的详细介绍,这里我们用表格来呈现它们的效率。1. 数据结构部分数据结构中常用的操作的效率表通用数据结构...
  • eson_15
  • eson_15
  • 2016年07月19日 07:59
  • 8465

Android中涉及数据结构和算法的工具类

一.概念 数据结构:是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 算法:是特定问题求解步骤的描述,算法是独立存在的一种解决问题的方法和思想 详细参照:http:/...
  • gongxiaoou
  • gongxiaoou
  • 2017年02月08日 14:21
  • 1411

高阶Python----常用的数据结构与算法

前言高阶Python系列文章是笔者想要突破自己目前的技术生涯瓶颈而作,不具有普适性。本文主要是介绍Python在数据结构和算法中常用的函数。这也是数据分析领域必备知识点。也不是特地为了某些读者而作,想...
  • guzhenping
  • guzhenping
  • 2017年02月12日 21:27
  • 2133
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:常用的数据结构以及算法
举报原因:
原因补充:

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