初学者的笔记-----数据结构与算法day03

复习:

1、什么是数据结构

    是专门研究数据关系和操作的学科,而非计算方法

    数据结构+算法=程序

2、逻辑结构与物理结构

    逻辑结构:

        集合:除了同属于一个集合,数据之间没有任何关系

        表:数据之间存在一对一的关系

        树:数据之间存在一对多的关系

        图:数据之间存在多对多的关系

    物理结构:

        顺序结构:数据存储在连续的内存中,可以使用数据的相对位置来表示数据之间的关系

        链式结构:数据分散地存储在内存的任何位置,通过数据项中有一项指针域用来表示数据之间关系

    逻辑结构与物理结构的对应关系:

        表:顺序    链式

        树:链式    顺序

        图:顺序+链式

    考点:数据和链表的优缺点?

3、数据结构的运算

    创建、销毁、清空、添加、删除、查询、访问、修改、排序、遍历

4、表结构

    顺序表:    数组

    链式表:    链表

5、功能首先的表结构

    栈:    只有一个进出口,先进后出

        四种顺序栈:

            top初值:0      入栈 top++  空增栈

            top初值:-1      top++ 入栈  满增栈

            top初值:cal-1  入栈 top--  空减栈

            top初值:cal    top-- 入栈  满减栈

    队列:  有两个端口,一个只能入队,一个只能出队,先进先出

    注意:栈、队列的功能受限、只能操作栈顶或队头队尾,除此之外操作其他任何元素都是非法的

    常见的笔试题:

        1、判断出栈顺序是否为真

        2、两个栈模拟一个队列

            从栈1到栈2必须一个不留

            栈2不空,栈1不能到栈2

封装链表:

    尾添加的效率低、非法下标的判断效率也非常低

    1、单链表

        结点:

            数据域

            指针域

        单链表数据项:

            头结点

            尾结点

            结点数量

    2、静态链表

        结点:

            数据域

            游标

        静态链表的结点存储在连续的内存中,通过游标来访问下一个结点

        这种链表在插入删除时时需要修改游标的值,而不用申请、释放结点内存就可以达到类似链式结构的效果

        牺牲了随机访问的功能、也没达到链表动态申请内存的效果,只是给没有指针的编程语言实现链表的一种方式,适用范围不大

    3、循环链表

        链表的最后一个结点的next不再指向NULL,而是指向头结点,这种链表称为单向循环链表,简称循环链表,它好处是可以通过任意结点来遍历整个链表

   

    4、双向链表

        结点:

            前驱指针    prev

            数据域

            后继指针    next








 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值