Coding somethings
问题引入
别名:BT(3-extra) - Flat B+树(Vec like)
题干
截止于 Python 3.13
前言
时间有限,草稿版本,以后深入研究再修。
前言
我们介绍得是抽象代数(abstract algebraic, modern algebraic)的结构,相对的我们熟悉的初等代数(elementary algebraic)就是研究代数方程,而我们抽象代数,显然就是更抽象了,但还有在它之上抽象的存在,那就是范畴论(category theory),是从哲学系那边转学过来的。
origin written at 2020-11-01
质数筛子的原理是质因数分解。
介绍下在分析算法复杂度时用到的标记符号,及其数学来源。
定义
题干
题干
题干
0121. Best Time to Buy and Sell Stock
题干
题干
前言
基本概念
前言
题干
0131. Palindrome Partitioning
源代码
44. Wildcard Matching
题干
App Themes
题干
题干
题干
通常为了分类页面的干净,不将LeetCode题解的文章放到算法分类里,但这一篇实在精彩,涉及了其他算法没有介绍过的,关于大量子串比较的通解性思路
题干
前言
前言
概念基础
题干
题干
题干
题干
题干
题干
题干
是解决有前置课程限制的课表安排之类的问题,用有向边代表一个事件和它的前置事件,那么这样构成的有向图的拓扑排序(结果并不唯一)就是一个规划方案。
本文资料来源于12 Depth-first search and linear graph algorithms R Tarjan - SIAM journal on computing, 1972 ↩ Algorithm 447: efficient algorithms for graph manipulation J Hopcroft, R Tarjan - Communications of the ACM, 1973 ↩
本文主要参考 OI-wiki 以及 cp-algorithms.com 相关页面1 没有找到讲得特别清楚又特别详细的资料,cp-algorithms.com 本篇的从风格到质量都有失水准,反而 OI-wiki 还比较详细,明明是早已有的概念,却有相当多的内容上是近期更新的 ↩
本文主要参考 wiki ,对其中一些内容进行了拓展,对个别错误进行了修正。
1st revision - 2024-12-15
假设对于非负整数,$a$ , $b$ ,求它们的最大公约数 $\text{gcd}(a, b)$ ,以下简写作 $g$ 。
题干
阅读了 https://fasterthanli.me/articles/why-is-my-rust-build-so-slow
在前面介绍了从 Fibonacci 堆、Dary 堆,到图上的诸多算法,从 BST 到 BT 的一系列数据结构和算法,并提供了它们的 Rust 实现,如果把这些代码都集成起来,可能就会发现这个编译的过程怎么这么熬人,似乎越来越让人难以忍受,这时可以参考一下另篇关于降低构建时间的笔记。
继承前两篇 B+树(Vec) 和 B+树(TreeMap) 的完整版 B+ 树 (Vec) 实现。系列所有代码可以在这里
对于 B 树来说,传统上有一种对节点分裂、合并时性能的改进方法,就是把存储结构由数组改为 TreeMap 。TreeMap 或者有序字典,比如我们前面介绍的所有的 BST,比如红黑树,以及,我们 B 树。
在前一篇的文章里介绍了 B 树,这里介绍它的变种 B+ 树的基本实现。
A
B 树是波音实验室的 Rudolf Bayer and Edward M. McCreight 最初发明用来存储大量索引(超过主内存)的数据结构,在 1970 年的论文里正式提出。
介绍的是磁盘的存储结构,但技术原理上对于光盘也是通用的。
分类
基本概念
基本概念
基本概念
基本概念
基本概念
基本概念
基本概念
前文介绍了二叉搜索树基础 ,这里是第一个自平衡的二叉搜索树 – AVL树,它是在 1962 年由前苏联的科学家 Georgy Adelson-Velsky 和 Evgenii Landis 提出的。它有最严格的平衡限制,因此有理论最佳的搜索效率。
作为一系列自平衡(self-balancing)的二叉搜索树的博文的起始,这篇先介绍基础部分,之后的各篇将专注于 增/删 节点后,树重新平衡的部分。
关于龙书
1st revision at 2025-01-01
1st revision - 2024-12-28
一个有建立在连续内存上的 $2$ 的 $n$ 次幂倍分叉完全树的最小堆(以下简称 d-ary 堆),理论和实践都最快的,用于图上经典贪心算法,作为斐波那契堆的上位替代。
前言
前言
算法理论部分,在上一篇文章 Fibonacci Heap 已经讲完了,下面是实现的部分1。 https://github.com/minghu6/rust-minghu6/blob/snapshot-1/src/collections/heap/fib.rs ↩
前言
Fibonacci Heap12 3是一个基于链表结构的,理论时间复杂度很优的堆。 https://www.cs.princeton.edu/~wayne/teaching/fibonacci-heap.pdf ↩ http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/FibonacciHeaps.pdf ↩ https://en.wikipedia.org/wiki/Fibonacci_heap ↩
概念
问题背景
Ubuntu
编译实践1: 学习Linux内核模块开发,需要增加一个FORCE_UNLOADING feature 以避免安装的模块崩溃时可以强行卸载而不必重启。而好像只有OpenSuSE可以通过修改配置文件来动态修改内核配置,而其他发行版只能重新编译内核。
This RFC is release on 2009.09 obsoletes RFC2581 which is release on 1999.04
This RFC is release on 1990.11 obsoletes RFC1063 which is released on 1988.07
变量初始化 在Java里面基本变量都有一个初始化的值,但在C里并不是,而是脏数据
Related Header Definition
Ref: https://itanium-cxx-abi.github.io/cxx-abi/abi.html
Python这一版更新引入了对于舒服的函数式编程至关重要的结构化的模式匹配, 我把它看作是Python面对逐渐尴尬境地的一种自救。
Function
gcc target
First Sets and Follow Sets
默认工作版本 ghc 8.10.4
AllowAmbiguousTypes
本章介绍线性时间复杂度的后缀排序的就地算法1(Optimal In-Place Suffix Sorting)。 Li, Zhize; Li, Jian; Huo, Hongwei (2016). Optimal In-Place Suffix Sorting. Proceedings of the 25th International Symposium on String Processing and Information Retrieval (SPIRE). Lecture Notes in Computer Science. 11147. Springer. pp. 268–284. arXiv:1610.08305. doi:10.1007/978-3-030-00479-8_22. ISBN:978-3-030-00478-1. ↩
准备环境:
author: minghu6
列表和点对的区别: 点对是列表构成的基本单元,列表通过点对嵌套构成: '(1 . (2 . nil)) 反过来,点对(1 . 2)看起来像长度为2的列表,但如果它的cdr不是列表,那么它就不是列表
参考
支持 ~ 在远程server上展开 -z 压缩 -a archive mode, syncs recursively and preserves symbolic links, special and device files, modification times, groups, owners, and permissions -v verbose –progress 显示进度 或者 -P
````php $cURL = curl_init();
mongo repository spring
查找包安装那些文件
继承环境变量