……

随笔分类 -  数据结构

java+C版数据结构
数据结构之(6)python实现双链表
摘要:介绍 双向链表比之单向链表,多数操作方法的实现都没有什么不同,如is_empty, __len__, traverse, search。这些方法都没有涉及节点的变动,也就可通过继承单向链表来实现即可。 不同之处一是在于节点实现的不同。因为增加了指向前一个节点的前驱区,因此需要为节点添加一个新属性pr 阅读全文
posted @ 2020-07-30 16:56 大码王 阅读(664) 评论(0) 推荐(0) 编辑
数据结构之(5)python实现单链表
摘要:介绍 为什么需要链表? 对于上部分顺序表的学习,我们了解到在构建顺序表时需要预先知道数据大小来申请连续的存储空间,而在进行扩充的时候又需要进行数据的搬迁,所以使用起来并不是很灵活。 那我们就想,能不能存在一种数据结构是的在数据扩充的时候,在原有的数据完全不变化,扩充一个数据就增加一个,我们需要这样的 阅读全文
posted @ 2020-07-09 15:24 大码王 阅读(429) 评论(0) 推荐(0) 编辑
数据结构之(4)python实现十大经典排序算法
摘要:使用场景: 1,空间复杂度 越低越好、n值较大: 堆排序 O(nlog2n) O(1) 2,无空间复杂度要求、n值较大: 桶排序 O(n+k) O(n+k) 经典排序算法图解: 经典排序算法的复杂度: 大类一(比较排序法): 1、冒泡排序(Bubble Sort)【前后比较-交换】 python代码 阅读全文
posted @ 2020-07-08 16:18 大码王 阅读(325) 评论(0) 推荐(0) 编辑
数据结构之(3)python实现排序算法
摘要:常用排序与插入算法 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮” 阅读全文
posted @ 2020-05-21 11:08 大码王 阅读(462) 评论(0) 推荐(0) 编辑
数据结构之(2)JAVA实现双向链表
摘要:public class DoubleLinkedList { // 节点类Node private static class Node { Object value; Node prev = this; Node next = this; Node(Object v) { value = v; } 阅读全文
posted @ 2020-05-13 00:11 大码王 阅读(251) 评论(0) 推荐(0) 编辑
数据结构之(1)Java十大排序
摘要:0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序 阅读全文
posted @ 2020-05-13 00:03 大码王 阅读(254) 评论(0) 推荐(0) 编辑

复制代码