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

             数 据 结 构        

    一.思维导图


    二.重要概念的笔记

    1.线性表:

    1.除头结点无前驱有一个后继,尾结点无后继有一个前驱,其他节点均含有一个与之对应的前驱和后继。链表只能顺序查找,相应操作的时间复杂度:

    • 找到指定元素:O(n)

    • 插入删除结点:O(n)

      2.链表的查找:从链表的头指针出发,顺链域next逐个结点往下搜索,直到搜索到第i个结点为止。因此,链表不是随机存取结构

      3.链表的插入:先找到表的第i-1的存储位置,然后插入。新结点先连后继,再连前驱。

      4.链表的删除:首先找到i-1的存储位置p。然后令p–>next指向i的直接后继结点。最后释放结点i的空间.r=p->next;p->next=r->next;delete r;

    2.栈和队列:

    • 1.栈(LIFO):限制在栈顶进行插入和删除操作,包含顺序栈和链栈。可以用来解决迷宫问题、括号配对问题、递归等
    #include<stack>
    
    stack<int>s;//定义栈s
    
    s.push();//入栈
    
    s.pop();//栈顶元素出栈
    
    s.empty();//判断栈是否为空
    
    • 2.队列(FIFO):限制在队列的一端进行插入队尾(rear),另一端进行删除队头(front),包含顺序队列和链队列。可以用来解决迷宫问题、递归等。
    #include<queue>
    
    stack<int>q;//定义队列q
    
    q.push();//将元素接到队列的尾端
    
    q.pop();//将队列中第一个元素弹出
    
    q.empty();//判断队列是否为空
    

    3.串:

    串是一个特殊的线性表,其数据元素可以是多个字符,模式匹配是串的一种重要运算。串既可以采用顺序存储结构,也可以采用链式存储结构。其中难点是KMP算法。

    #include<string>
    
    string str;//定义串str
    

    4.数组和广义表

    1. 数组:数组的顺序存储分行优先列优先

    2. 广义表(Lists,又称列表):是一种非线性的数据结构,是线性表的一种推广。即广义表中放松对表元素的原子限制,容许它们具有其自身结构。广义表是n(n≥0)个元素a1,a2,…,ai,…,an的有限序列。


    三.疑难问题及解决方案

    1.模式串t=“abcaa”,以表格展示next 和nextval数组值。

    j 0 1 2 3 4
    t[j] a b c a a
    next[j] -1 0 0 0 1
    nextval[j] -1 0 0 -1 1

    起初自己预习计算nextval值时,以为当next[j]与t[j]相等时,nextval[j]的值为next[j]-1,当next[j]与t[j]不相等时,nextval[j]=next[j]。直到课堂上发现我自己理解有误,计算的结果与答案不符。于是我课后去网站上搜索了一番,反复观看kmp算法讲解视频,最后懂得了nextval的正确计算方法是:当next[j]与t[j]相等时,nextval[j]=nextval[next[j]],当next[j]与t[j]不相等时,nextval[j]=next[j]。

  • 相关阅读:
    2021.1.28 个人rating赛补题报告
    2021.1.23 个人rating赛补题报告
    2021.1.23 个人rating赛补题报告
    2020.12.14 个人训练赛补题报告
    2020.11.28 2020团体程序设计天梯赛补题报告
    2020.12.3 Codeforces Beta Round #73(Div2)补题报告
    Xhorse VVDI Prog V5.0.6 is Ready for BCM2 Adapter
    Program 2021 Ford Bronco All Keys Lost using VVDI Key Tool Plus
    Xhorse VVDI Prog V5.0.4 Software Update in July 2021
    How to use Xhorse VVDI2 to Exchange BMW FEM/BDC Module?
  • 原文地址:https://www.cnblogs.com/hcy420/p/12587333.html
Copyright © 2011-2022 走看看