
数据结构笔记
文章平均质量分 50
数据结构学习笔记分享
Corsair_cxs
惟精惟一
展开
-
[数据结构] 二叉树基础
Python实现""" Pre-order, in-order and post-order traversal of binary trees. Author: Wenru Dong"""from typing import TypeVar, Generic, Generator, OptionalT = TypeVar("T")class TreeNode(Generic[T]): def __init__(self, value: T): sel转载 2021-01-20 11:45:18 · 162 阅读 · 0 评论 -
[Java] Hashmap分析
参考链接:Java Set 文档http://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/util/Set.htmlJava Map 文档http://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/util/Map.html转载 2021-01-20 11:36:51 · 233 阅读 · 0 评论 -
顺序表链表 LeetCode专项练习 [19]\[24]
题目列表:19.删除链表的倒数第N个节点24.两两交换链表中的节点83.删除排序链表中的重复元素141.环形链表160.相交链表19. 删除链表的倒数第N个节点删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟.原创 2021-01-18 21:55:05 · 120 阅读 · 0 评论 -
[算法笔记]二叉树基础
前言:部分资料引自极客大学《数据结构与算法之美》,感谢王争老师!https://time.geekbang.org/column/article/67856如何表示(或者存储)一棵二叉树?想要存储一棵二叉树,我们有两种方法,一种是基于指针或者引用的二叉链式存储法,一种是基于数组的顺序存储法。1. 链式存储每个节点有三个字段,其中一个存储数据,另外两个是指向左右子节点的指针。我们只要拎住根节点,就可以通过左右子节点的指针,把整棵树都串起来。这种存储方式我们比较常用。大部分二叉树代码都是通过这种结构来原创 2020-08-16 01:16:04 · 434 阅读 · 0 评论 -
[算法笔记] 爬楼梯
70. 爬楼梯难度简单1185假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶...原创 2020-08-14 11:30:40 · 207 阅读 · 0 评论 -
[算法笔记]-环形链表Ⅱ-解题方法
原题链接:https://leetcode-cn.com/problems/linked-list-cycle-ii/Given a linked list, return the node where the cycle begins. If there is no cycle, return null.To represent a cycle in the given linked list, we use an integer pos which represents the position (原创 2020-08-10 01:11:27 · 155 阅读 · 1 评论 -
C++ list::splice()用法
因为 list 容器不支持随机访问 所以 merge() remove() reverse() sort()和 unique()泛型算法最好不要用在 list 对象上 尽管这些算法都没有显式地要求一个 RandomAccessIterator标准库为每个算法都提供了专门的 list 成员实例 比如专门为 list 的 splice()操作):list::merge() 用第二个有序的 list 合并一个有序 listlist::remove() 删除等于某个值的元素list::remove_if()原创 2020-05-22 16:14:35 · 2272 阅读 · 0 评论 -
[极客时间] 时间复杂度和空间复杂度分析
常见的几种时间复杂度O(x)英文释义中文释义O(1)Constant Complexity常数复杂度O(log n)Logarithmic Complexity对数复杂度O(n)Linear Complexity线性时间复杂度O(n^2)N square Complexity平方DO(n^3)N cubic Complexity立方O(2^n)Exponential Growth指数O(n!)Factorial阶乘.原创 2020-05-20 22:48:35 · 511 阅读 · 0 评论 -
覃超-算法训练营 学习方法分享[1] 如何精通一个领域
精通一个领域的三步走方式切碎知识点切碎知识点庖丁解牛的故事将算法数据结构分解成一块一块相对简单化、脉络化的知识脑图,脉络相连。引用Elon Musk的话:(引自reddit):任何一个知识体系都是一棵树,如果要掌握某个领域的关键知识,就需要将知识变成一颗树状结构.有最基本的根,然后分出主干、分出枝叶。最后每个知识点和你所熟悉的知识挂靠在一起,成为树状结构。人脑不适合记忆、理解孤立的知识,脑图有助于理解。如何达到职业顶尖玩家的水平:如果只是停留在和寝室室友一盘盘打游转载 2020-05-12 17:05:33 · 9076 阅读 · 5 评论