
数据结构
文章平均质量分 66
ZeroZeroNine
这个作者很懒,什么都没留下…
展开
-
Python: 链表的实现
我的建议是直接按照头插法的方式建表。当然,要实现这个目标也可以使用递归,找到一个节点,让这个节点的下一个节点的next指向自己,同时,在下一个节点的next指针发生变化之前,先递归调用下一个节点的反转,这样会递归到尾节点,直到尾节点反转指针之后,前一个节点才可以执行反转操作。反向打印单向链表时,我们第一个想到的是新建一个容器,比如栈,将链表中的数据取出,然后存入栈中,最后打印栈即可。到此我们实现了单链表的建立与查询、添加与删除操作。上边的部分实现了一个链表结构,可以进行对数据的存入以及遍历。原创 2022-11-07 10:59:49 · 970 阅读 · 0 评论 -
Python: 栈的实现以及栈的简单应用
事实上,Python本身自带的列表就可以很好的实现栈的操作,当然,如果你想实现一个像链表一样的栈结构的话,可以用deque,也可以像下面这样自己写一个类。需要注意的是,栈顶指针总是在栈的最上层,也就是head,向栈中加入数据时要先将数据转化为一个节点。使用时只需要实例化一个Strack对象然后调用相关方法就可以了。原创 2022-11-07 09:06:44 · 526 阅读 · 0 评论 -
Python 数据结构与算法详解以及示例代码
为了省去重复编写排序算法的烦恼,大部分编程语言都有自己的排序函数,其中很多函数依赖的就是快速排序算法,尽管在最坏情况下它的时间复杂度与插入排序和选择排序差不多,但在平均情况下它的表现的确足够优异。2.将空隙左侧的每一个值与临时变量的值进行比较,如果左侧的值大于临时变量的值,就将该值右移一格,随着值右移,空隙会左移,如果遇到比临时变量小的值,或者空隙已经到达了数组的最左端,就结束平移阶段。需要注意的是,这仅仅是第一次分区,轴两侧肯定还有些数字的顺序是错误的,所以接下来要重复进行分区的操作。原创 2022-10-05 19:09:48 · 747 阅读 · 0 评论