美文网首页
数据结构基础2

数据结构基础2

作者: xian_yu | 来源:发表于2018-04-24 11:23 被阅读0次

    二,顺序表

    1,顺序表的形式。(先忘掉python的列表这些数据结构)

    内存:以一个字节为索引单位;类型本质:int,char;连续存储:顺序存储


    --------

    接下来是两种基本顺序表概念图:左是一体顺序表(多为存储的元素数据类型一致),右是元素外置的顺序表,上图所示是32位机器,li变量直接指向第一个,也是第一个元素为什么是li[0],因为偏移量为0(注:计算机按字节寻址)逻辑位置即下标如li[1]

    2,顺序表结构如何,又如何实现呢(在python中已经对这一部分进行了封装):

    一体式和分离式结构使用方面新的前者全部要新申请;后者表头不变,只是链接指向数据地址的变了。引出下面的概念(分离式结构又称动态顺序表)

    3,顺序表的操作:

    增加:

    删除同增加

    4,python中的顺序表:

    即list使用了元素外置顺序表形式的分离式结构。(为什么分配八个元素存储区:元素外置,顺序表中存的是位置的数值,都是一定大小的,这就使存储不同类型元素出现了)

    三,链表

    1,引入概念

    注:链表与顺序表都是线性表。

    2,单向链表:

    增删改查:

    对于指向下一个节点的指针在c中可以用*这个数据结构表示,那在pyhton中怎么弄?

    先来看图,在python中,a=10代表a占一小块地方,10占一小块地方,a占的地方里面存10的地址。所以,最后一句就相当于a,b=20,10,a指向20,b指向10。这就是为什么python不需要int a=10,c中这个相当于一小块内存,数值为10别名为a,也就是变量a。在py中一切皆对象

    所以,定义一个类,类node中连最基本两个成员函数为elem,next,代码实现:

    忘了使markdown了,

    这也是为什么现在顺序表的使用多于链表的原因

    3,双向链表:

    代码不给看嘿嘿,诸看官可以尝试自己实现

    数据存储方式讲完了。下面就是数据结构的第二部分即如何使用

    四 栈和队列

    1,栈:利用线性表的任意一种都可以实现

    使用顺序表实现:

    2,队列

    hhhhhhhh,代码再给一次:

    好啦,数据结构大部分介绍完成,下面就会聊聊一些常用的排序搜索算法嗯哼哼

    看我这么辛苦小心心不给一个吗?企图卖萌中@~@

    相关文章

      网友评论

          本文标题:数据结构基础2

          本文链接:https://www.haomeiwen.com/subject/bobdlftx.html