数据结构基础

原创 2018年04月17日 15:25:01
数据结构图:


1、线性表
   概念:数据元素的排列方式是线性。
   分类:分类规则是根据上图中元素的存储结构来划分的。
1)顺序表

   基本思想:元素的存储空间是连续的。在内存中是以顺序存储,内存划分的区域是连续的。存储结构如下图:


2)链表

   基本思想:元素的存储空间是离散的,单独的(物理),它们可以通过在逻辑上指针的联系使得它成为了整体的链表。存储结构如下图:


  1.单链表:


   2.循环链表:


  3.双链表(双向循环链表):


三者的区别(从上面三个图我们可以总结出来):
    1、它们都有数据域(data(p))和指针域(next(p)),但是从图中可以看出双链表有两个指针域,一个指向它的前节点,一个指向它的后节点。
    2、单链表最后一个节点的指针域为空,没有后继节点;循环链表和双链表最后一个节点的指针域指向头节点,下一个结点为头节点,构成循环;
    3、单链表和循环链表只可向一个方向遍历;双链表和循环链表,首节点和尾节点被连接在一起,可视为“无头无尾”;双链表可以向两个方向移动,灵活度更大。



2、栈

基本思想:后进先出(先进后出)即栈中元素被处理时,按后进先出的顺序进行,栈又叫后进先出表(LIFO)。

如下图所示:


  举例:放在箱子里的一摞书,只能从书顶上拿走一本书,书也只能放在顶上。


3、队列

  基本思想:先进先出即先被接收的元素将先被处理,又叫先进先出表(FIFO)。如下图所示:


  举例:排队进车站时,安检行李,先进去的最先出来,后进去的后出来。
分类:
1.顺序队列
顺序队列的操作,要判断队满和队空的标志,从图中我们可以总结得到:
      1.队空:head = tail
      2.队满:tail = m
2.循环队列
循环队列的操作,要判断队空和队满的情况,从图中我们可以总结得到:
    1.队空:head = tail

    2.队满:tail + 1 = head(在队列中会留一个空着的空间,所以要加1)




版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ght886/article/details/79975466

数据结构基础练习题 有答案

  • 2008年11月05日 15:22
  • 37KB
  • 下载

数据结构基础练习题(有答案)

  • 2017年08月18日 17:07
  • 345KB
  • 下载

数据结构基础知识核心归纳(一)

堆是一种树状的数据结构。一般由程序员分配释放,存放由new创建的对象和数组(C中是由malloc分配和free释放),JVM不定时查看这个对象,如果没有引用指向这个对象就回收.1)优点:可动态分配内存...
  • AndrExpert
  • AndrExpert
  • 2017-09-09 09:56:42
  • 2643

数据结构与算法基础

1、概论基本概念和术语数据(Data)     数据是信息的载体。它能够被计算机识别、存储和加工处理,是计算机程序加工的"原料"。     随着计算机应用领域的扩大,数据的范畴包括:  整数、实数、字...
  • xietangz
  • xietangz
  • 2005-01-19 10:20:00
  • 4952

全世界最经典的数据结构教材,Horowitz的《数据结构基础(C++版)》Fundamentals of Data Structures in C++,中文版,其它所有数据结构书籍均继承于此

  • 2011年02月06日 00:17
  • 19.22MB
  • 下载

数据结构基础知识(1)

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有...
  • happylee6688
  • happylee6688
  • 2013-03-27 20:30:16
  • 13395

[Coursera]数据结构基础_Week2_线性表_Q3

Coursera课程作业
  • yiliu_cr
  • yiliu_cr
  • 2015-12-21 15:33:15
  • 364

陈元春实用数据结构基础学习指导与习题参考

  • 2011年12月26日 10:41
  • 450KB
  • 下载

Java基础知识和常用数据结构整理与分析--Framwork篇

Java基础知识总结及常见面试笔试题整理--Java基础篇
  • chenbaige
  • chenbaige
  • 2017-02-25 20:01:49
  • 1547

数据结构C++基础编程

  • 2017年10月17日 20:36
  • 253KB
  • 下载
收藏助手
不良信息举报
您举报文章:数据结构基础
举报原因:
原因补充:

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