DSA
文章平均质量分 91
数据结构与算法
高一少年
Things will come your way
展开
-
HashMap - 哈希表
文章目录TreeMap分析HashMaphashLong和Double的哈希值字符串的哈希值关于31的探讨扰动计算自定义对象作为keyHash CollisionJDK1.8的哈希冲突解决方案putcontainsKeycontainsValue扩容 TreeMap分析 内部通过红黑树实现节点存储Entity映射 ◼ 时间复杂度(平均) 添加、删除、搜索:O(logn) ◼ 特点 Key 必须具备可比较性 元素的分布是有顺序的 ◼ 在实际应用中,很多时候的需求 Map 中存储的元素不需要讲究顺序 原创 2020-07-16 20:55:56 · 558 阅读 · 0 评论 -
DNA.动态规划
文章目录dp.DNA dp.DNA DNA can be modeled as a string consisting of letters A,T,G and C, denoting the four different nitrogen bases. To measure genetic similarity, we want to identify non-overlapping substrings that match given non-empty sequences, each of which原创 2020-07-06 08:54:39 · 290 阅读 · 0 评论 -
collapse.动态规划
题目分析 from building import * def max_food(building: Building) -> int: """returns the maximum number of food that can be collected from given building""" length = 2 * building.size + 1 dp = [[0 for i in range(length)] for j in range(length原创 2020-06-02 08:55:38 · 479 阅读 · 0 评论 -
并查集-Python实现
集合使用双亲表示法,给一个结点,找到它的根节点,即它所在的集合 集合常用方法:并、查找 路径压缩:一次查找就把处在一链上的结点的父结点,直接指向集合的根节点 按秩归并:比较两个集合的规模,或者树的高度, 永远让小树并到大树上,维持树的高度 class SetADT: def __init__(self): self.set = list() # 默认集合初始元素为-1 ...原创 2019-11-03 20:38:25 · 639 阅读 · 0 评论 -
后缀表达式
中缀表达式转换后缀表达式 1. 遍历中缀表达式 - 若是数字则直接输出 - 若是 ( ,压入栈中 - 若是 ) ,则出栈直到遇到 ( ,第一次遇到的 ( 一定是所匹配的一对 - 若是运算符,则比较优先级 - 若优先级比栈顶低,那么压栈 - 否则,出栈直到遇到比其优先级低的 def postfix_exp(elements): nums = ('0','1','2','3','4','5',...原创 2019-10-22 22:15:34 · 304 阅读 · 0 评论 -
一元多项式相加
add: 返回的是一个新的链表根节点 add2: 返回的是多项式1的链表的根节点 class Node(object): """docstring for Node""" def __init__(self,coef=None,exp=None,next=None): self.coef = coef self.exp = exp s...原创 2019-10-21 20:35:41 · 334 阅读 · 0 评论 -
反转链表
反转链表 tmp用来记住old的next结点 # class Node(object): # """docstring for Node""" # def __init__(self, value=None, next=None): # self.value , self.next = value, next # class LinkedList(object):...原创 2019-10-20 19:42:31 · 128 阅读 · 0 评论 -
最大子列和问题-MaxSubseqSum
暴力遍历解法 优化解法 在线处理解法 分治法 个人觉得解法1最先想到,再仔细观察是解法2 解法3不好想到,但理解起来不算太难;解法4是真的不好理解(本人对递归理解较弱) def maxsubseqsum(seq): n= len(seq) maxsum = 0 for i in range(n): for j in range(i,n): ...原创 2019-10-20 14:42:14 · 452 阅读 · 0 评论