随笔分类 - 数据结构与算法
脑细胞燃烧吧!!!
摘要:链表介绍: 链表是有序的列表; 单链表: 一般来说,为了比较好的对单链表进行增删改查的操作,我们都会给他设置一个头节点,头节点的作用是用来标识单链表头部,不存放任何数据; 案例说明: 单向链表实现 --增删改查; 代码实现 package main import ( "fmt" ) // 单项链表的
阅读全文
摘要:稀疏数组(SparseArray)介绍: 稀疏数组实质还是数组;由实际案例来引出:编写的五子棋程序中,由存盘退出和续上盘的功能; 当一个数组中大部分元素为0(或其他都是相同的数值)数组时,可以使用稀疏数组来保存该数组; 稀疏数组的处理方法是: 1.记录数组一共由几行几列,有多少个不同的值。 2.把具
阅读全文
摘要:数组array包含了顺序的元素,[1,2,3,...],查找目标元素r是否在数组中。 我们已经提前知道数组递增顺序 时间复杂度为O(logN) 递推公式: f(N) = f(N/2) + O(1) = f(N/4) + 2 * O(1) 假设 N = 2 ^ M 最后可以推出 f(N) = O(lo
阅读全文
摘要:栈: 1.First In Last Out(FILO) 2.先进后出,后进先出(桶/弹夹等) python实现栈: class Stack(object): def __init__(self): self.stack = [] def pop(self): if self.is_empty():
阅读全文
摘要:链表中最简单的一种是单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向列表中的下一个节点,而最后一个节点则指向一个空值。 python代码实现: # 链表中的节点的数据结构 class ListNode(object): def __init__(self, x): self.val =
阅读全文