美文网首页
数据结构基础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,代码再给一次:

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

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

相关文章

  • 2020年最新整理的java学习路线

    阶段一:数据结构 一、基础 1、基本的数据结构 [](1)基础概念 [](2)数组 [](3)链表 [](4)栈:...

  • 最新整理的java学习路线

    阶段一:数据结构 一、基础 1、基本的数据结构 [](1)基础概念 [](2)数组 [](3)链表 [](4)栈:...

  • Runtime方法总结及部分案例

    案例地址 一、类与对象基础数据结构 1.类与对象基础数据结构 1)Class 2)object_objec与id ...

  • 跳跃表-原理(转载)

    数据结构的扩展步骤:(在真正设计的时候,下面的步骤的顺序可以置换) 1.选择一种基础数据结构 2.确定基础数据结构...

  • 2:手写常见的数据结构

    1:为什么要手写常见的数据结构 2:数据结构基础(再次理解) 3:简单目录

  • Mysql 存储-学习记录

    1,基础的数据结构-B+tree2,Innodb的页---逻辑3,Innodb的索引---数据结构 主键索引(按...

  • 近期学习安排

    一、Java基础篇 1.HashMap底层数据结构,扩容机制 2.ArrayList 底层数据结构,扩容机制 3....

  • Redis深度历险笔记

    Redis深度历险笔记 基础与应用 Redis基础数据结构 5种基础数据结构:string、list、hash(字...

  • 数据结构基础2

    二,顺序表 1,顺序表的形式。(先忘掉python的列表这些数据结构) 内存:以一个字节为索引单位;类型本质:in...

  • 数据结构基础2

    1.单链表的数据结构+案例2.双链表的数据结构+案例3.栈的数据结构(双向链表+数组实现) + 案例4.队列的数据...

网友评论

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

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