第一次博客作业

#ds博客作业

1.思维导图

2.重要概念的笔记

线性表的顺序存储和链式存储的优缺点比较:链式存储的优势 插入、删除节点时只需修改相关节点的指针域而顺序存储插入、删除需要移动大量元素;链表的存储密度比顺序表小;链表不能做到随机存取,顺序表可以

单链表设置头节点的作用:可以使链表插入和删除的操作同其他节点一致 ;带头结点的链表,其头结点不随操作而改变,可以减少错误

循环链表的理解:操作和单链表差不多,区别在于判断指针p是否指向终点的条件不同:p->next!=L;

循环链表是另一种形式的链式存储结构,特点是表中最后一个节点的指针域指向头节点,使整个链表形成一个环。因此从表中任一节点出发均可找到表中其他节点。

循环队列下一个队尾的计算公式是Q -> rear = (Q -> rear+1)%MAXSIZE

栈的应用:数制转换,表达式的求值转换,函数调用,递归和非递归的相互转换

栈顶元素总是最后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才 被删除的元素
栈的基本运算有:进栈、出栈与读取栈顶元素三种
进栈:在栈顶位置插入一个新元素;首先将栈顶指针加一(top++),然后将新元素插入到栈顶指针top指向 的位置
出栈:指取出栈顶元素并赋给一个指定的变量,注意要判断是否为空栈,最后要释放空间;首先将栈顶元素赋   给一个指定的变量,然后将栈顶指针退一(top--)
取栈顶元素: 返回栈顶元素的值;栈顶指针不会改变。

3.疑难问题和解决方案

递归算法的时间复杂度:刚开始没有思路的乱算,后面知道了T(n) = T(n - 1) + O(1)

带头节点的单链表的一些题,比如求其中最大值节点的,刚开始写着不太行,后面多打了几遍有好了

KMP算法的模式匹配过程前几趟很难理解,后面自己理了图和表感觉好多了

 

posted @ 2020-03-28 21:48  爆炒蒟蒻  阅读(133)  评论(0编辑  收藏  举报