- 博客(51)
- 收藏
- 关注
原创 计算机很笨,是人工智能让计算机变聪明了
计算机很笨,是人工智能让计算机变聪明了,那计算机本质是代码定义的规则的输入输出集合,而人工智能是数学算法参数数据驱动的没有特定规则的输入输出集合,也就是输入到输出具有不可预测性。
2026-06-26 22:38:46
148
原创 动态数组实现时_new,delete/checkElementIndex , checkPositionIndex/throw/template<typename E>
简单的扩缩容策略: • 当数组元素个数达到底层静态数组的容量上限时,扩容为原来的 2 倍;• 当数组元素个数缩减到底层静态数组的容量的 1/4 时,缩容为原来的 1/2。索引越界检查: 有两个检查越界的方法,分别是。一、new和delete必须成对出现,这是避免了内存泄露,new开辟内存空间,delete销毁不用的数据(回收内存)以后还会有更新,旨在更深入,更压缩,更易懂。是一个占位符类型,当模板被实例化时会被具体类型替换(如 int。,你可以看到它俩的区别仅仅在于。,你可以看到它俩的区别仅仅在于。
2025-07-04 22:23:13
399
原创 省流~析构函数与构造函数
在C++中,构造函数(Constructor)和析构函数(Destructor)是类的特殊成员函数,用于对象的初始化和清理。(参数个数或类型不同)的多个函数共存的现象。编译器根据调用时提供的参数自动匹配选择合适的函数。用途:赋初值初始化、确保对象在创建时处于合法状态。用途:对象销毁时释放资源,避免内存泄漏。构造函数可以有多个,即函数重载。指的是在同一个作用域中,体会构造函数与析构函数。
2025-06-30 16:57:52
491
原创 香农大大的信息论,看邱锡鹏老师的书浅尝辄止下
KL 散度(Kullback-Leibler Divergence),也叫KL 距离或相对熵(RelativeEntropy),是用概率分布 𝑞 来近似 𝑝 时所造成的信息损失量.KL 散度是按照概率分布𝑞的最优编码对真实分布为𝑝的信息进行编码,其平均编码长度(即交叉熵)𝐻(𝑝, 𝑞) 和 𝑝 的最优平均编码长度(即熵)𝐻(𝑝) 之间的差异.对于离散概率分布𝑝和𝑞,从𝑞到𝑝的KL散度定义为。在自信息的定义中,对数的底可以使用 2、自然常数 𝑒 或是 10.当底为 2 时,自信息
2025-06-29 18:19:11
627
原创 趣味数据结构之——链
于是想要处理好一个结点就需要处理好这个结点两端的链接处。那么对于链来说,我们则是一维链上的一维生物,所能知道的所有信息(即我们能看到的)就只有链定义的信息(比如指向自己当前位置的指针,指向下一个或上一个节点的指针)(这里面的看到,意指我们所掌握的指针)需要处理被增结点n,那就需要处理它两端的链接处,需要处理好链接处,那就只和链接处接壤的结点有关,所以这里只要处理好三个结点里的信息存储(即指针)就好了。显然按照我们的设想,我们永远都局限在链的一个节点上,永远都不可能一次性看到整个链,就像我们在地球上一样。
2025-06-29 13:02:16
455
原创 趣味数据结构之——栈
首先,就是取元素,显然我们只能取最上层的元素,同理也只能查找(看到)栈顶的元素,还有存入元素和删除元素。(因为上面说过,其余的对我们来说都是不可见的,一定要牢记这一点,那么我们能够对栈这个数据结构有什么样的操作呢,或者说应该抱有什么样的期望呢?正可谓只要了两点还能知道什么?当然是两点确定一条直线啦!于是栈长(栈的大小)我们就知道了,还有栈是不是空的。一个关于水桶的故事,一个只能看到两个点的故事。至此,我们这个故事就讲完啦。可以看两个点,于是也就可以。
2025-06-28 22:47:58
342
原创 趣味数据结构之——数组
动态数组底层还是静态数组,只是自动帮我们进行数组空间的扩缩容,并把增删查改操作进行了封装,让我们使用起来更方便而已。按理来说我们希望“增删查改后的数组仍然还是个数组”,就是按顺序去看,一个萝卜一个坑,可以短,但中间不能又空缺的。还有一个特性就是它在内存里开辟的是一整块的连续空间,是多少就是多少。在尾部增删查改都好说,可在头部或者中间就不一样了。数据定义(安放)的事情我们解决了,下面就是操作了——增删查改。需要腾位置的腾位置,需要挤一下的挤一下。是的这就是静态数组,就是这么简单。,那么定义数组就是在挖坑。
2025-06-28 22:45:56
457
原创 BF算法实现(Python,C++)
进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法,即暴力(Brute Force)算法,是普通的。算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个。
2024-03-02 08:00:00
904
原创 C++的一些细节技巧
要将字符串存入数组,需要先定义一个适当大小的数组,并且确保该数组足够容纳所有字符(包括结尾的空字符)。在C++中将字符串存入列表(List)可以使用标准库的。下面是一种常见的方法,通过使用。在C++中,可以使用。
2024-03-01 08:00:00
647
原创 括号匹配的检验(Python)
3.从栈1的栈顶不断的弹出元素到栈2当中,期间栈2时刻检查栈2的栈顶与和栈2的栈顶相邻的元素(括号)是否匹配,若匹配则相消。(此处可设计一个专门用来检查的函数check())4.知道栈1中的元素全部弹出,若最后栈2中的元素全部都相消完了,则这些括号是合法匹配,否则就是无法匹配。2.从用户那里获取输入一串括号到栈1中。1.设置两个栈——栈1,栈2。
2024-02-29 08:00:00
1503
原创 C++与Python的一些(一部分)区别
10.在C/C++中数组和字符串似乎是互通的,但是在Python中列表与字符串却不是互通的,例如列表就无法使用字符串所可以使用的一些方法,比如lower()......例如缩进在Python中要求是较为严格的,参与语法规则的组成,而在C++中则要求并不那么严格,不参与语法规则的组成。Python的赋值操作具有引用的效果,而C++的赋值操作具有复制效果。Python相比于C++,不仅支持位置实参,还支持关键字实参。Python:and(逻辑与),or(逻辑或)C++:&&(逻辑与),||(逻辑或)
2024-02-26 08:00:00
763
原创 使用Python实现选择(类似于C/C++中switch/case)的方法
需要注意的是,在Python中,使用`if-elif-else`语句或字典映射通常已经足够满足需求。使用第三方库可能会增加代码的复杂性和依赖性。因此,在选择模拟switch功能的方法时,应考虑项目的具体需求和复杂度。
2024-02-25 08:00:00
967
原创 进制转换(2,8,10,16进制的数相互转换)(Python)
首先用户请求用户输入希望将几进制(m)的数转化为几进制(x)的数。通过对两个函数的调用使得所有进制之间可以相互转换。先将所有输入的数字先统一转化为十进制的。一、将所有进制的数转换为十进制的数。输入要进行转换的数字(num)。二、将十进制数转换为所有进制数。
2024-02-24 08:00:00
881
原创 C++ Primer 笔记(总结,摘要,概括)——第7章 类
目录编辑7.1 定义抽象数据类型 7.1.1 设计Sales_data类 7.1.2 定义改进的Sales_data类 7.1.3 定义类相关的非成员函数 7.1.4 构造函数 7.1.5 拷贝、赋值和析构7.2 访问控制和封装 7.2.1 友元7.3 类的其他特性 7.3.1 类成员再探 7.3.2 返回*this的成员函数 7.3.3 类类型 7.3.4 友元再
2024-02-22 00:47:52
761
原创 C++ Primer 笔记(总结,摘要,概括)——第6章 函数
目录6.1 函数基础 6.1.1 局部对象 6.1.2 函数声明 6.1.3 分离式编译6.2 参数传递 6.2.1 传值参数 6.2.2 传引用参数 6.2.3 const形参和实参 6.2.4 数组形参 6.2.5 main:处理命令行选项 6.2.6 含有可变形参的函数6.3 返回类型和return语句 6.3.1 无返回值函数 6.3.2 有返回值
2024-02-22 00:30:13
593
原创 C++ Primer 笔记(总结,摘要,概括)——第5章 语句
目录5.1 简单语句5.2 语句作用域5.3 条件语句 5.3.1 if语句 5.3.2 switch语句5.4 迭代语句 5.4.1 while语句 5.4.2 传统的for语句 5.4.3 范围for语句 5.4.4 do while语句5.5 跳转语句 5.5.1 break语句 5.5.2 continue语句 5.5.3 goto语句5.6 try语句块和异常处理
2024-02-22 00:04:50
480
原创 C++ Primer 笔记(总结,摘要,概括)——第4章 表达式
目录4.1 基础 4.1.1 基本概念 4.1.2 优先级与结合律 4.1.3 求值顺序4.2 算术运算符4.3 逻辑和关系运算符4.4 赋值运算符4.5 递增和递减运算符4.6 成员访问运算符4.7 条件运算符4.8 位运算符4.9 sizeof运算符4.10 逗号运算符4.11 类型转换 4.11.1 算数转换 4.11.2 其他隐式类型转换 4.11.3 显示转换4.12 运算符优先级表小结术语表
2024-02-21 23:19:31
671
原创 C++ Primer 笔记(总结,摘要,概括)——第3章 字符串、向量和数组
目录3.1 命名空间的using声明3.2 标准库类型string 3.2.1 定义和初始化string对象 3.2.2 string对象上的操作 3.2.3 处理string对象中的字符3.3 标准库类型vector 3.3.1 定义和初始化vector对象 3.3.2 向vector对象中添加元素 3.3.3 其他vector操作3.4 迭代器介绍 3.4.1 使用迭代器 3.4.2 迭代器计
2024-02-21 20:24:39
482
原创 C++ Primer 笔记(总结,摘要,概括)——第2章 变量和基本类型
目录2.1 基本内置变量 2.1.1 算术类型 2.1.2 类型转换 2.1.3 字面值常量2.2 变量 2.2.1 变量定义 2.2.2 变量声明和定义的关系 2.2.3 标识符 2.2.4 名字的作用域 2.3 复合类型 2.3.1 引用 2.3.2 指针 2.3.3 理解复合类型的声明2.4 const限定符 2.4.1 const的引用
2024-02-21 18:11:43
649
原创 C++ Primer 笔记(总结,摘要,概括)——第1章 开始
目录1.1 编写一个简单的C++程序 1.1.1 编译、运行程序1.2 初识输入输出1.3 注释简介1.4 控制流 1.4.1 while语句 1.4.2 for语句 1.4.3 读取数量不定的输入数据 1.4.4 if语句1.5 类简介 1.5.1 Sales_item类 1.5.2 初识函数成员1.6 书店程序小结术语表
2024-02-21 14:04:50
544
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第11章 测试代码
目录11.1 使用pip安装pytest 11.1.1 更新pip 11.1.2 安装pytest11.2 测试函数 11.2.1 单元测试和测试用例 11.2.2 可通过的测试 11.2.3 运行测试 11.2.4 未通过的测试 11.2.5 在测试未通过时怎么办 11.2.6 添加新测试11.3 测试类 11.3.1 各种断言 11.3.2 一个要测试的类
2024-02-21 02:35:47
638
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第10章 文件和异常
10.1 读取文件 10.1.1 读取文件的全部内容 10.1.2 相对文件路径和绝对文件路径 10.1.3 访问文件中的各行 10.1.4 使用文件的内容 10.1.5 包含100万位的大型文件 10.1.6 圆周率中包含你的生日吗10.2 写入文件 10.2.1 写入一行 10.2.2 写入多行10.3 异常
2024-02-20 23:21:19
445
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第9章 类
假设有两个文件,一个为car.py(其中有定义好的Car类的模板),另一个为my_car.py(需要应用到类Car)。
2024-02-20 18:14:38
1260
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第7章 用户输入和while循环
如果不小心编写了一个无限循环的程序,并且运行了它,既可按Ctrl+C,也可关闭显示程序输出的终端窗口。
2024-02-20 00:16:47
630
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第6章 字典
使用values()方法,实际上和keys()方法的使用方法一样,这里不做赘述。使用set()提取其中的元素(不重复),用来创建一个集合。其中的‘key’和‘value’也可以换成其他变量名。使用keys()方法。
2024-02-20 00:02:24
757
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第5章 if 语句
可使用关键字"not in"使用lower()方法。可使用关键字"in"
2024-02-19 23:13:53
818
1
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第4章 变量和简单的数据类型
print(dimensions[0])#输出200print(dimensions[1])#输出50。
2024-02-19 20:21:53
1042
1
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第3章 列表简介
注意:remove()方法只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环,确保将每个值都删除。你可以像使用其他变量一样使用列表中的各个值。例如,可以使用f字符串根据列表中的值来创建消息。如果让Python将列表打印出来,Python将打印列表的内部表示,包括方括号。大多数编程语言是如此规定的,这与列表操作的底层实现有关。2.在列表中插入元素:使用 insert() 方法。3.删除列表中任意位置的元素:使用pop()方法。4.根据值删除元素:使用 remove() 方法。
2024-02-19 00:47:55
548
1
原创 大蟒蛇(Python)笔记(总结,摘要,概括)——第2章 变量和简单的数据类型
2.在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数。确保字符串右端没有空白:rstrip() 方法(这种删除办法是暂时的)确保字符串左端没有空白:lstrip() 方法(这种删除办法是暂时的)在程序中,可随时修改变量的值,而Python将始终记录变量的最新值。确保字符串两端没有空白:strip() 方法(这种删除办法是暂时的)1.将任意两个数相除,结果总是浮点数,即便这两个数都是整数且相除。使用 removeprefix() 方法(这种删除办法是暂时的)使用井号“#”标识。
2024-02-18 23:37:29
1427
1
请求未来发展规划与学习路线建议
2024-11-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅