数据结构
泉水豆花儿
oj8k_chen@163.com
展开
-
【python3数据结构】回溯算法
一般涉及找全集的都是用回溯算法涉及题目:39.组合总和,40. 组合总和 II,46. 全排列,47. 全排列 II,78. 子集,90. 子集 II'''1. 初始化res,用于存所有结果2. 定义back_track函数(递归), i是当前数组的下标,tmp保存中间结果 1) 将tmp中间结果存入res 2) 遍历剩下的元素,并进行回溯。 3) 对...原创 2019-12-20 14:04:49 · 476 阅读 · 0 评论 -
【python3数据结构】Boyer- Moore算法
https://baike.baidu.com/item/Boyer-%20Moore%E7%AE%97%E6%B3%95/16548374?fr=aladdin先记下,Boyer- Moore Voting算法原创 2019-12-05 19:50:07 · 398 阅读 · 0 评论 -
【python3数据结构】Dijkstra’s算法(搜索最短路径问题)
Dijkstra’s 算法• 贪婪• 使用优先级队列(heap)• 列表中添加元素{元素,优先级},并从另一端删除最高优先级项• 入队:添加一个{元素,优先级}• 队列:删除最高优先级的元素• 优先级队列通常使用“堆”来实现,并可以优先考虑低值(Min-Heap)或大值(Max-Heap)缺点:边为负数,负循环等无法准确搜索。# -*- coding: ut...原创 2019-12-03 18:37:30 · 289 阅读 · 0 评论 -
【python3数据结构】图Graph及DFS(深度优先搜索)BFS(广度优先搜索)
Graph 和 Vertex 构建基于邻接列表:# -*- coding: utf-8 -*-# @Date : 2019/12/1# @File : AdjListGraph.pyimport sysclass Vertex(object): def __init__(self, node): self.id = node ...原创 2019-12-01 14:11:05 · 770 阅读 · 0 评论 -
【python3数据结构】堆heap
# -*- coding: utf-8 -*-# @Date : 2019/11/29# @File : myHeap.pyclass PriorityQueueBase(object): class Item: __slots__ = ['_key', '_value'] def __init__(self, k, v): ...原创 2019-11-29 23:01:53 · 165 阅读 · 0 评论 -
【python3数据结构】二分搜索树BST
# -*- coding: utf-8 -*-# @Date : 2019/11/24# @File : BinarySearchTree.py'''动态语言:可以在运行的过程中,修改代码静态语言:编译时已经确定好代码,运行过程中不能修改__slots__:限制实例的属性使用__slots__要注意,__slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作...原创 2019-11-24 18:50:11 · 130 阅读 · 0 评论 -
【python3数据结构】队列queue
linkedList.py 见链表实现# -*- coding: utf-8 -*-# @Date : 2019/11/12# @File : myQueue.pyfrom linkedList import LinkedList, Node# 固定容量DEFAULT_CAPACITY = 10class ArrayQueue(object): def _...原创 2019-11-18 23:29:59 · 170 阅读 · 0 评论 -
【python3数据结构】堆栈stack
# -*- coding: utf-8 -*-# @Date : 2019/11/12# @File : arrayStack.pyfrom linkedList import LinkedListclass arrayStack(object): def __init__(self): self._data = [] def...原创 2019-11-12 21:02:29 · 175 阅读 · 0 评论 -
【python3数据结构】LinkList链表实现
# -*- coding: utf-8 -*-class Node(object): def __init__(self, val=None, next=None): self.val = val self.next = nextclass LinkedList(object): def __init__(self): s...原创 2019-11-12 21:00:27 · 219 阅读 · 0 评论 -
【python3数据结构】两数之和,两数相加,无重复字符的最长子串
1)两数之和# 两数之和def two_sum(nums, target): d = {} # 边检查边写 n = len(nums) for i in range(n): a = target - nums[i] if nums[i] in d: return [d[nums[i]], i] ...原创 2019-08-08 17:20:19 · 117 阅读 · 0 评论 -
【python3数据结构】质数与哥德巴赫猜想
def gold_batch(n): '''任一大于2的偶数,都可表示成两个质数之和。''' # 找质数 is_prime = [True] * (n + 1) i = 2 while (i * i <= n): if is_prime[i]: j = i while (j * i &l...原创 2019-08-06 11:33:51 · 359 阅读 · 0 评论 -
【python3数据结构】动态数组实现
import ctypesclass DynamicArray: def __init__(self): 'Create an empty array.' self._n = 0 # size self._capacity = 10 self._A = self._make_array(self._capacity)...原创 2019-08-06 10:15:36 · 329 阅读 · 0 评论