数据结构
文章平均质量分 72
风止_
这个作者很懒,什么都没留下…
展开
-
leetcode——回溯法基础
回溯法「回溯法」实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就「回溯」返回,尝试别的路径。一般情况下,看到题目要求「所有可能的结果」,而不是「结果的个数」,就知道需要暴力搜索所有的可行解了,可以用「回溯法」。回溯是一种算法思想,递归是一种编程方法,回溯法可以用递归来实现。回溯法整体思路:搜索每一条路径,每次回溯是对具体的一条路径而言。对当前搜索路径下的未探索区域进行搜索,可能有两种情况:(1)当前未搜索区域满足结束条件时,保存当前路径并推出当前搜原创 2022-02-09 18:48:30 · 505 阅读 · 0 评论 -
DFS与BFS算法
深度优先遍历简称DFS(Depth First Search),广度优先遍历简称BFS(Breadth First Search),它们是遍历图当中所有顶点的两种方式。下面分别介绍两种基本的搜索算法。原创 2022-02-06 08:53:49 · 24664 阅读 · 2 评论 -
python实现图的结构
节点定义# 图节点结构class Node: def __init__(self, value): self.value = value # 节点值 self.come = 0 # 入度 self.out = 0 # 出度 self.nexts = [] # 邻居节点 self.edges = [] # 在节点为from的情况下,边的集合边定义class Edges: def __init__(self, weight, fro原创 2022-02-05 10:23:45 · 2289 阅读 · 0 评论 -
数据结构——链表
数组是常用的数据结构,但是有其局限性:编译期需要确定元素大小数组在内存中是连续的,插入或者删除需要移动数组中其他数据数组适合处理确定长度的,对于插入或者删除不敏感的数据。如果数据是频繁变化的,就需要选择其他数据结构了。本文介绍链表。链表是一种在存储单元上非连续、非顺序的存储结构。数据元素的逻辑顺序是通过链表中的指针链接次序实现。链表由一系列的节点组成,节点可以在运行时动态生成,因此链表的长度没有逻辑上的限制,有限制的是堆的大小。在单向链表中。每个节点包含两部分:数据域与指针域。数据域存储数据元素,指原创 2022-01-26 21:59:33 · 1559 阅读 · 0 评论