主页

动态数据结构总结与比较

这里首先解释一下什么是动态数据结构:动态数据结构是支持动态的更新操作,里面存储的数据是时刻在变化的,通俗一点讲,它不仅仅支持查询,还支持删除、插入数据。而且,这些操作都非常高效。如果不高效,也就算不上是有效的动态数据结构了。所以,这里的红黑树算一个,支持动态的插入、删除、查找,而且效率都很高。链表、队列、栈实际上算不上,因为操作非常有限,查询效率不高。 答: 散列表:插入删除查找都是O(1),是最常用的,但其缺点是不能顺序遍历以及扩容缩容的性能损耗。适用于那些不需要顺序遍历,数据更新不那么频繁的,查找比较频繁的。 跳表:插入删除查找都是O(logn),并且能顺序遍历。缺点是空间复杂度O(n)。适用于不那么在意内存空间的,其顺序遍历和区间查找非常方便。 红黑树:插入删除...

阅读更多

Neovim定制方法

写在前面 基于ayamir/nvimdots: A well configured and structured Neovim. (github.com); 文件 . ├── core │   ├── event.lua │   ├── global.lua │   ├── init.lua │   ├── mapping.lua │   ├── options.lua │   ├── pack.lua │   ├── run.lua │   └── settings.lua ├── keymap │   ├── bind.lua │   ├── config.lua │   └── init.lua └── modules ├── .DS_Store ├── a...

阅读更多

使用c系统调用编写的简单tcpserver

写在前面 总结一下TCPserver以及client的C语言系统调用编写方法, 并给出一个例子(字符串数据的传递), 主要参考了尹圣雨编写的TCP/IP网络编程, 其中的回声服务器部分(第四章和第五章), 给出了服务器修改字符串的实现. 环境: MacOS12.6 M1 arm64 gcc-12 with brew TCP简介 TCP(传输控制协议), 基于三次握手和四次挥手建立连接, 在不稳定的IP协议层上通过控制流建立稳定的连接, 基本系统调用 I/O类 文件读(这里也包括从套接字文件读取信息) 网络类 其他(异常处理,) 示例(客户端向服务端发送字符串, 服务端处理后发送回客户端)

阅读更多

二叉搜索树增删改查完整实现(c++)

写在前面 总结一下二叉搜索树的实现, 包括直接遍历数组的方法构建, 添加节点, 指定值的搜索, 结点的删除, 插入等操作. 代码见dsa/c_cpp/Binary_Tree at main (github.com); 和BST.h; 二叉搜索树简介 二叉搜索树(英语:Binary Search Tree),也称为二叉查找树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 任意节点的左、右子树也分别...

阅读更多

汇编语言(王爽)程序编译,链接,基本循环部分(chap4,5,6)小结

写在前面 总结汇编语言第四五六章的内容, 包含汇编程序的编译链接, 多文件编译的方法, 以及汇编循环的一些内容. 约定的记号 ()记号表示寄存器的内容 约定的一个记号, 表示一个寄存器或者一个内存单元中的内容, 例如: (AX)表示寄存器AX寄存器中的数据, (20000H)表示内存单元20000H处的数据内容, 注意括号里面的内存单元地址用物理地址表示. ((DS)*16+(BX))表示(DS):(BX)内存单元处的内容. idata记号表示常量 immediate data 立即数 例如: mov ax, [idata], 表示mov ax, [1],mov ax, [2]等. mov ax, idata, 表示mov ax, 1...

阅读更多

定制jekyll Github Pages的字体显示

写在前面 改一下博客的字体显示, 默认的不好看, 这里改成JetBrainsMono Nerd Font Mono, 连字字体. 官方GitHub: JetBrainsMono Nerd Font Mono; 这里我的主题的TeXt, 官方主页:kitian616/jekyll-TeXt-theme: 💎 🐳 A super customizable Jekyll theme for personal site, team site, blog, project, documentation, etc. (github.com); 更改方法 参考了: 动态加载字体 - Tate & Snow (tate-young.github.io); 在本地项目...

阅读更多

Typora主题定制之数学公式和字体篇

写在前面 最近偏爱一款Typora主题, 叫做Monospace-dark, 其GitHub主页如下: typora/typora-monospace-theme: A monospace theme for Typora (github.com); 我做了一些修改, 其实就是CSS文件, 放在了dotfile/typora-theme at main · Apocaly-pse/dotfile (github.com); 字体上我用了JetBrainsMono Nerd Font Mono这款支持字符合并的字体, 之前在终端和sublime上用起来还不错, 于是就想着移植到typora了, 但是这也走了很多弯路, 因为我没学过CSS, 都是依靠一点一点尝试和查看文档来做的. ...

阅读更多

常见函数的级数展开式推导

写在前面 最近做极限的题目,很多都要用到泰勒展开(麦克劳林展开),然而一些结论总是记不住,于是在这里总结一些常见的函数的展开式及推导过程,希望可以帮到大家。 定义式 函数$f(x)$在点$x_0$处展开(皮亚诺 Peano 余项) \[\begin{aligned} f(x) &=f(x_0)+\frac{f'(x_0)}{1!}(x-x_0)+\frac{f''(x_0)^2}{2!}(x-x_0)^2+\cdots\\ &=\sum_{k=0}^n \frac{f^{(k)}(x_0)}{k!}(x-x_0)^k+o((x-x_0)^n) \end{aligned}\] 麦克劳林展开 下面为方便表示,都使用麦克劳林级数的形式(需要注意这样写要满足幂级数收...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits