
数据结构
焦不得
一个大三的幼稚青年
展开
-
滚动数组--斐波那契数列
刷力扣的时候,我刷到爬楼梯的简单题,虽然是简单题,但是我了解到滚动数组,因为我也是小白嘛,就去学习了一下这个思想,主要是用到有规律的局部新的信息和反馈。虽然可以用递归,但是浪费了大量的程序空间和时间,不如滚动算法。例子:求第n个位置的斐波那契数。原创 2023-11-29 23:56:56 · 408 阅读 · 1 评论 -
栈的链式存储
栈的链式存储结构简称链栈,栈是先进后出的数据结构,说白了,栈只是对栈顶进行插入和删除操作,作为栈的链式结构,肯定是单链表,而单链表又有头结点,为什么不把栈顶指针和单链表的头结点结合一下,用栈顶来当单链表的头结点,总而言之,链栈是不需要头结点,用栈顶就OK了。因为是链式结构,不存在栈满的情况,除非内存已经没有使用的空间了,如果真到那时候,就先不要考虑栈满的情况了,先管管计算机吧。只要理解这个,其他与单链表没啥大的区别,下面是整个代码。稍微的画一下图,画的不好,将就的还能看。原创 2023-06-25 19:31:31 · 172 阅读 · 0 评论 -
两个有序链表的合并
可以定义两个指针指向这两个链表,并把这两个指针指向的数据进行比较,小的那个结点放在第三个链表后面,并把这个指针向后移动 ,直到最后,但是我们还要想到一个问题,最后的结点是谁的尾结点,谁的指针先指到空,第三个链表的尾结点就是相反的的链表的尾结点,意思是p指向链表1,q指向链表2,如果最后p是空,则链表3的尾结点就是链表2的尾结点。第二个链表存放的是2,4,6,8,10。两个链表合并成一个链表,可以新创一个头结点把这两个链表的数据依次放在这个头结点的后面,两个有序链表的合并为一个有序链表。原创 2023-04-23 16:12:34 · 1586 阅读 · 1 评论