zoukankan      html  css  js  c++  java
  • 数据结构的概述

    数据结构是数据的组织形式,可以用来表征特定的对象数据。在计算机程序设计中,操作的对象是各种各样的数据,这些数据往往具有不同的数据结构,例如数组,结构体,联合体,指针,链表,而算法和数据结构具有千丝万屡的联系

    著名的计算机公式:数据结构+算法 = 程序

    因吃,数据结构是算法实现的基础

    数据结构中的基本概念:

    数据:数据是信息的载体,能够被计算机识别,存储,加工,是计算机程序加工的原材料,数据的类型有很多,包括基本的整数,字符,字符串,实数,此外,图像和声音都可以认为是一种数据;

    数据元素,数据元素是数据的基本单位,也称为元素,结点,顶点,记录等,一般来说,数据元素可以由若干个数据组成,数据项也可称为字段或域,或属性

    数据结构:数据结构是指数据之间的相互关系,也就是数据的组织形式

    常用的数据结构:

    数组:数组是一种聚合内的数据类型,他是将相同类型的若干个变量有序的组织在一起,数组可以分为整形数组,字符型数组

    栈:栈是一种特殊的线性表,她只能在一个表的一个固定端进行数据节点的插入和数据的删除操作,栈按照后进先出的原则,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读入数据时,从栈顶开始直接读出,栈在汇编语言中,常常用来用于重要数据的现场保护

    队列:队列和栈类似,也是一种特殊的线性表,和栈不同的是,队列只是允许在表的一段插入,在另一端进行删除操作,一般来说,进行插入操作的一端,称为队尾,进行删除操作的一段称为对头

    链表:链表是一种数据元素按照链式存储的方式进行存储的数据结构,这种存储结构在物理上存在非连续的特点,链表由一系列数据结点组成,每个数据节点包括数据域和指针域两部分其中指针域中保存着下一个元素存放的地址,链表结构中数据元素的逻辑顺序是通过链表中的指针链接来实现的

    树:数是一种典型的非线性结构,他会包括n个节点在内的有穷集合k,在数据结构中,有且仅有一个数据根节点

    图:图是另一种非线性结构,在图结构中,数据节点一般称为顶点,而边是顶底的有序偶对,如果在两个顶点之间存放一条边,那么就表示这两个顶点具有相邻的关系

    堆:对是一种特殊的树型数据结构,我们一般讨论的堆都是而插队,队的特点是根节点的值是所有结点之间存放的最大的或者是最小的,并且根节点的两个子树也是一个堆结构

    散列表:散列表源自于散列函数,其实想是如果在结构中存在关键字和T相等的记录,那么,必定在F(T)中找到该记录,这样就可以不用进行比较而直接取得所查的记录

    随着计算机的不断发展,对于非数值问题的计算大约占据了80%的运算时间这是后,就需要设计合理的数据结构,才能够高效的解决问题

    版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3443534.html

  • 相关阅读:
    二分图 洛谷P2055 [ZJOI2009]假期的宿舍
    并查集 洛谷P1640 [SCOI2010]连续攻击游戏
    贪心 洛谷P2870 Best Cow Line, Gold
    贪心 NOIP2013 积木大赛
    快速幂 NOIP2013 转圈游戏
    倍增LCA NOIP2013 货车运输
    树形DP 洛谷P2014 选课
    KMP UVA1328 Period
    动态规划入门 BZOJ 1270 雷涛的小猫
    KMP POJ 2752Seek the Name, Seek the Fame
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3443534.html
Copyright © 2011-2022 走看看