- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 七十、爬楼梯
首先要分析题目,要用到哪种数据类型。哪种思路,迭代还是什么?用迭代,从n不停的减1或者减2,一直到为0.这个代码还没写对,回头改一改。
2022-10-30 19:24:26 112 1
原创 数据学习记录之双向链表基本操作增删查改
通常,双向链表同单链表一样,都仅有一个头指针。因此,双链表查找指定元素的实现同单链表类似,都是从表头依次遍历表中元素。双链表删除结点时,只需遍历链表找到要删除的结点,然后将该节点从表中摘除即可。将新数据元素添加到表头,只需要将该元素与表头元素建立双层逻辑关系即可。将 head 移至 temp,重新指向新的表头;新节点先与其直接后继节点建立双层逻辑关系;新节点的直接前驱节点与之建立双层逻辑关系;让新节点与最后一个节点进行双层逻辑关系;找到双链表中最后一个节点;
2022-10-26 21:31:58 513
原创 数据结构学习记录之双向链表
虽然使用单链表能 100% 解决逻辑关系为 “一对一” 数据的存储问题,但在解决某些特殊问题时,单链表并不是效率最优的存储结构。比如说,如果算法中需要大量地找某指定结点的前趋结点,使用单链表无疑是灾难性的,因为单链表更适合 “从前往后” 找,而 “从后往前” 找并不是它的强项。因此,双向链表很有必要学习一下。指针域:用于指向当前节点的直接前驱节点;指针域:用于指向当前节点的直接后继节点;数据域:用于存储数据元素。
2022-10-26 21:02:47 136
原创 数据结构学习记录之3、静态链表动态链表异同
使用动态链表存储数据,不需要预先申请内存空间,而是在需要的时候才向内存申请。也就是说,动态链表存储数据元素的个数是不限的,想存多少就存多少。缺点:会存在内存碎片化使用的情况,而且内存不连续,需要借助指针访问。(个人认为,静态链表也需要游标才能访问,并没有方便多少)需要预先申请足够大的一整块内存空间,也就是说,静态链表存储数据元素的个数从其创建的那一刻就已经确定,后期无法更改。缺点:大小是固定的,不方便。优点:比较方便、自由,不受节点个数的限制,想加就加。优点:内存是连续的,不存在碎片化内存浪费的情况。
2022-10-26 20:42:59 449
原创 数据结构之线性表重点记录2、静态链表增删查改
2、找到表中第 2 个节点(添加位置的前一个节点,这里是数据元素 2),将元素 2 的游标赋值给新元素 4;3、将元素 4 所在数组中的下标赋值给元素 2 的游标;1、从备用链表中摘除一个节点,用于存储元素 4;
2022-10-26 20:35:06 186
原创 数据结构之线性表重点记录1、链表反转
图 6 中,虽然 mid 指向了原链表最后一个节点,但显然整个反转的操作还差一步,即需要最后修改一次 mid 所指节点的指针域指向,另其和 beg 相同(指向节点 3)。在图 3 的基础上,我们先改变 mid 所指节点的指针域指向,另其和 beg 相同(即改为 NULL),然后再将 3 个指针整体各向后移动一个节点。在图 4 基础上,先改变 mid 所指节点的指针域指向,另其和 beg 相同(指向节点 1 ),再将 3 个指针整体各向后移动一个节点。,这里就不一一叙述了,感兴趣的同学可以参考。
2022-10-25 20:31:21 569
原创 如何使用教研室的服务器
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,以实现虚拟化。创建好自己的容器后,我们就可以在容器里快乐做实验了。
2022-10-03 16:00:02 726
niceday.ap15_1
2021-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人