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

    线性表

    - #在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。
      一组数据中包含的元素个数可能发生变化(可以增加或删除元素)
      #对于这种需求,最简答的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者
      表示数据之间的某种关系。
      #这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某元素的一个集合,还记录着元素之间的一种顺序关系。
      #线性表是最基本的数据结构之一,在实际程序中应用非常广泛,它还经常被用作更复杂的数据结构的实现基础。
    
      #根据线性表的实际存储方式,分为两种实现模型:
      	- 顺序表 将元素顺序地放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。
      	- 链表 将元素存放在通过链接构造起来的一系列存储块中。
    

    顺序表

    链表

    #为什么需要链表
    	顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。
    	链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
    
    #定义
    	链表是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)
    
    
    #单向链表
    	- 单向链表也叫单链表 是链表中最简单的一种形式, 它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,
    	  而最后一个节点的链接域则指向一个空值。
    

      

      

  • 相关阅读:
    django xadmin 集成DjangoUeditor富文本编辑器
    docker学习笔记
    02-创建 TLS CA证书及密钥
    01-集群环境及组件介绍
    使用Filebeat和Logstash集中归档日志
    FastDFS分布式存储实战
    [转]JVM内存模型
    jcmd
    jstack Dump 日志文件中的线程状态
    cpu占用过高排查
  • 原文地址:https://www.cnblogs.com/golangav/p/7709842.html
Copyright © 2011-2022 走看看