算法与数据结构
传统数据结构/算法
code7thday
这个作者很懒,什么都没留下…
展开
-
Python实现字典树
1 字典树的定义字典树也称作前缀树或者Trie树,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。(引自百度百科《字典树》)2 字典树的特点根节点不包含字符,除根节点外每一个节点都只包含一个字符;从根节点到某一节点...原创 2020-04-10 17:51:32 · 912 阅读 · 0 评论 -
十大经典排序算法详解(动图演示+代码实现)
排序算法总览十大排序算法可以分为比较类排序以及非比较类排序。**比较类排序:**通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn)O(nlogn)O(nlogn),因此也称为非线性时间比较类排序。**非比较类排序:**不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。排序算法可以分为内部排序和外部...原创 2020-04-10 17:36:55 · 1870 阅读 · 0 评论 -
用python实现优先队列
class priority_queue: def __init__(self): self.queue = [] def put(self, val): self.queue.append(val) cur = len(self.queue) - 1 while cur > 0: pa...原创 2020-04-01 14:34:55 · 730 阅读 · 1 评论 -
理解回溯算法——回溯算法的初学者指南
0 前言最近做了不少关于回溯法的算法题,积累了一些心得,这篇博文算是对回溯法的一个小总结。1 回溯法简介回溯法简单来说就是在当前的状态下,穷举所有可能性的算法,但是回溯算法比穷举法高级的地方就是回溯算法可以随时判断当前状态是否符合问题的条件。一旦不符合条件,那么就退回到上一个状态。最基本的回溯法是在解空间中穷举所有的解。比如求序列[1,2,3]的全排列,那么我们可以画出一颗解空间树。回...原创 2019-09-21 01:31:52 · 13728 阅读 · 5 评论