• 数据结构~线性表(二)


    本人学习笔记,仅供自己查阅


     线性表 是最常用且最简单的一种数据结构。

    线性表的顺序存储结构的特点:逻辑关系上相邻的两个元素在物理位置上也相邻。查询方便,插入或删除操作时,需移动大量元素。

    线性表的链式存储结构的特点:不要求逻辑上相邻的元素在物理位置上也相邻。插入或删除操作方便,但查询速度慢,不能随机存取。


    链式存储结构:数据域和指针域

    数据域:存储数据元素信息的域;

    指针域:存储直接后继存储位置的域,指针是 数据元素之间的逻辑关系的映像。

    循环链表、双向链表、静态链表


    栈:限定仅在表尾进行插入或删除操作的线性表。因此,对栈来说,表尾端有特殊含义,称为栈顶(top),相应地,表头端称为栈底(bottom)。

    栈又称 后进先出(last in first out)的线性表(简称LIFO结构)

    栈的应用举例:

    数制转换、括号匹配的检验、行编辑程序、迷宫求解、表达式求解(操作数栈、运算符栈)、栈与递归的实现(Hanoi塔的问题)


    队列

    队列:只允许在表的一端进行插入,而在另一端删除元素。是一种 先进先出(first in first out,缩写为FIFO)的线性表。

    在队列中,允许插入的一端叫做队尾(rear),允许删除的一端称为对头(front)。


    串(字符串)

    计算机上的非数值处理的对象基本上是字符串数据。在不同类型的应用中,所处理的字符串具有不同的特点,要有效地实现字符串的处理,就必须根据具体情况使用合适的存储结构。

    值得一提的是,串值必须用一对单引号括起来,但单引号本身不属于串,它的作用只是为了避免与变量名或数的常量混淆而已。

    串的逻辑结结构和线性表极为相似,区别仅在于字符集

    定长顺序存储表示

    堆分配存储表示:仍以一组地址连续的存储单元存放串值字符序列,但它们的存储空间是在程序执行过程中动态分配而得的。在C语言中,存在一个称之为“堆”的自由存储区。

    块链存储表示:链表方式存储串值

    串的模式匹配算法:朴素模式匹配、KMP算法

  • 相关阅读:
    JavaScript相关,this 的指向
    酷炫的渲染,CSS3动画!
    正襟危坐,聊一聊Web语义化
    本地存储的技术,localStorage、sessionStorage、cookie、session
    Express 系列(终章):MongoDB使数据持久化
    股票投资相关,成交量怎么看
    【日本語新聞選読】第5回:3月31日
    【1901日語听解2】第5回:3月30日
    【日語視聴説2】第5回:3月30日
    【日本語新聞編集】第4回:3月27日
  • 原文地址:https://www.cnblogs.com/barbarian/p/8674905.html
Copyright © 2020-2023  润新知