240 发简信
IP属地:四川
  • 014 图的遍历

    以邻接表为例,以字符串ABCDE作为案例。 广度优先遍历(BFS) 基本思路是: 用集合set保存已访问顶点,避免重复访问 用队列queue实现层级遍历(BFS)的顺序 具体...

  • 递归:yyds!

    递归 何为递归 递归是调用自身(Call Self)的技术与艺术 递归将大问题分解为相似的小问题去解决 递归是分治算法的一种,分治算法的基本思想是把问题分解为多个较小的子问题...

  • 013 图的实现

    邻接矩阵(adjacency matrix) 有向图 假设有5个城市,名字依次叫做ABCDE。 adjacency_matrix[i][j] 表示从i到j是否具有有向边。 有...

  • 012 图(Graph)

    图 图的含义 图是由顶点(vertice)和连接顶点的边(edge)组成的一种数据结构。 顶点(vertice)就是构成图的数据元素,表示图中的一个个节点。图中的每个顶点可以...

  • 011 树的实现,以及广度优先遍历和深度优先遍历

    链式实现:指向孩子节点的指针 使用“指向孩子节点的指针”,从root节点开始,使用指针将所有节点连成一个整体。 这里我还实现了广度优先遍历(BFS)和深度优先遍历(DFS)算...

  • 010 树(Tree)

    树 树(Tree)是一种层级的(hierarchical)数据结构。由节点(Node)和边(Edge)组成。 术语: 根节点(Root Node):最高层级节点。 双亲节点(...

  • 009 队列(queue)

    队列 队列(queue)是一种先进先出(first-in, first-out)(FIFO)的数据结构。 允许添加元素的一端为队尾(rear),允许删除元素的一端为队头(fr...

  • 008 栈(stack)

    栈 栈是一种后进先出(last-in, first-out)(LIFO)的数据结构。 允许添加元素的一端为栈顶(top),另一端为栈底(bottom)。 栈的空间复杂度为O(...

  • 007 链表

    链表实现 链表 v0:最简单的单链表 定义了两个类,节点类Node和列表本身的LinkedList。 LinkedList只做了一件事,作为表头(头指针)链接到第一个节点No...

  • 006 顺序表

    复习序列操作 通用序列操作(内置序列适用) 运算解释x in sx 是否被包含于 sx not in s上述取反s + ts与t相拼接s * n 或 n * ss与自身进行n...

  • 005 线性表

    简介 线性表很符合人们的基本认知,各种各样的列表、清单、条目的抽象模型就是线性表。例如, ABCDEFG, 1234567, 等等。 假设书架上排列着一堆书籍,分别是《西游记...

  • 004 空间复杂度

    介绍 空间复杂度是衡量算法所用的内存空间的大小。 书中是这么说的: “一个程序在机器上执行时,除了需要寄存本身所用的指令、常数、变量和输入数据外,还需要一些对数据进行操作的辅...

  • 003 时间复杂度

    时间复杂度 案例1 考虑这样一个函数: 它实现了从1 + 2 + 3 + ... + n,即求解从1一直加到n的和是多少。 考虑这一条语句 total += i , 当我传入...

  • 浮点数问题:0.3 不等于 0.1 + 0.2

    一个有趣的问题 假如你尝试进行这个计算: 有趣的是,结果居然是False。 那么0.3 为什么不等于 0.1 + 0.2 ? Python官方的解答 Python官网教程里特...

  • 002 何为时间复杂度和空间复杂度?

    算法 严蔚敏《数据结构(C语言版)(第2版)》一书中,对算法的定义是这样的: 算法(Algorithm)是为了解决某类问题而规定的一个有限长的操作序列。 (额,反正我是看不懂...

  • 120
    001 数据结构简介(Python实现)

    参考自严蔚敏《数据结构(C语言版)(第2版)》。 我将书中的部分知识内容转换成Python对应的实现和应用,方便大家了解。本篇章会持续更新。 为什么要学习数据结构? 一,数据...

个人介绍
人生苦短,我用Python。