深入理解设计模式
关于本文 本文为《深入理解设计模式》v2022-1.29 亚历山大·什韦茨 (Alexander Shvets) 著 彭力 译版本 的笔记。文章较长,可使用网站右侧的目录栏进行跳转。该书的中文翻译包含了风格化的内容(即为了解释原文,使用中文环境中才会出现的例子)与此同时中文翻译中包含了类似于“鲁棒性”、“硬编码”这种不易理解的中文词语,建议对比英文…
|
1,631
|
|
25674 字
|
1.6 小时
PyQt6 笔记
使用 Python3 和 PyQt6进行学习,参考 Create GUI Applications with Python & Qt6 下文中的 QT 均指 PyQT6 创建一个 QT 应用 示例 from PyQt6.QtWidgets import QApplication, QWidget # Only needed for acce…
|
5,139
|
|
10103 字
|
2.3 小时
设计模式
统一建模语言 Unified Modeling Language,UML 这里主要使用 UML 绘制类图 Dependency 依赖、使用 Association 关联 Generalization 泛化、继承 Realization 实现 Aggregation 聚合(关联的一种) Composite 组合(关联的一种) 依赖 只要在类中用到了对…
|
4,144
|
|
5125 字
|
47 分钟
数据结构笔记04
图 背景 线性表和树都只能有一个前驱节点,也就是父节点,当需要表示多对多关系的时候就需要使用图。图是一种数据结构,其中:节点可以具有 0 个或多个相邻元素,两个节点之间的连接称为边(Edge),节点也被称为顶点(Vertices)。 无向图 顶点之间的连接没有方向,例如: 有向图 顶点之间有方向,只能从一点到另一点,但不能直接返回 带权图 路径有权…
|
4,167
|
|
1208 字
|
9 分钟
数据结构笔记03
树 Tree 数组、链表与树 数组通过下标来访问元素,速度快,对于有序数组可以利用二分查找,但是如果插入一个节点,会整体移动,效率低链式存储便于删除、添加,在检索时只能从头/尾开始遍历查找树能提高存储、读取的效率,既可以保证检索的速度,也可保证数据插入、删除、修改的速度 树的常用术语(详见wikipedia.org Tree_(data_struc…
|
3,900
|
|
7419 字
|
1.7 小时
数据结构笔记02
概念 可视化网站 https://visualgo.net/zh 时间频度 一个算法中的语句执行次数称为语句频度或时间频度,T(n) 如:计算1-100所有数字之和: for循环,从1加到100,T(n)=n+1计算n次,判断一次利用等差数列数学公式(首项+末项)*项数/2,T(n)=1 时间复杂度 Time Complexity 事后统计,统计运…
|
3,854
|
|
4336 字
|
38 分钟
数据结构笔记01
线性结构与非线性结构 线性结构 Linear Structure 线性结构是最常用的数据类型,数据元素之间存在一一对应的关系可以存储为顺序存储(分配内存时,地址是连续的,如数组)和链式存储(地址不一定连续,节点依靠指针,如链表)常见线性结构:数组、队列、链表、栈 非线性结构 Nonlinear Narrative 非一对一包括:二维数组、多为数组、…
|
3,796
|
|
5806 字
|
51 分钟