- 博客(17)
- 收藏
- 关注
原创 c++单例设计模式(搭配智能指针)
无论是在开发过程中还是面试过程中,总会经常提到一种设计模式,那就是单例模式,常常会有面试官询问关于单例模式的原理和两种实现方式,接下来就讲解一下和单例模式有关的知识。当一个类对象要求在全局只会创建且仅创建一次,或者对于某个对象来说,他的作用域是全局且供全局的所有对象使用,为了防止为多次创建该对象而降低效率,我们在内存中生成该类的一个对象且避免他被再次创建,令所有其他对象共享该对象,从而减少内存开销而提高效率,这就是单例模式。
2024-05-19 19:15:56
999
2
原创 google style c++编程规范常用点
风格是很重要的内容,在一个大型项目中,风格总是一致的,如果一个项目里的代码风格五花八门,那么令人阅读代码是十分头疼的事情,因此大型公司总是重视代码风格,树立一个规范来令员工参考,接下来介绍google 的c++ 代码规范常用精选官方文档:http://google-styleguide.googlecode.com/中文官方文档:https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/
2024-05-14 10:15:01
479
1
原创 惯用动态规划模型解决背包问题:
动态规划(英语:Dynamic programming,简称 DP),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。简单说就是动态规划是把一个问题逐步划分为子问题,直到子问题能够被求解,在求解过程中往往有重复的计算,利用备忘录把答案记录下来,从而减少求解原问题的时间和空间。
2024-03-14 19:56:27
992
原创 BM字符匹配算法
字符匹配在我们的电脑有非常广泛的应该,例如记事本的查找以及搜索引擎的匹配等等,KMP算法也是一种匹配算法,但实际上它并不那么高效,大多数应用还是会选择BM(Boyer-Moore)算法,实际上BM算法会比 KMP 算法可以快很多。(在学BM算法前建议先看懂KMP算法的原理)BM算法是由Bob Boyer和J Strother Moore于1977年提出的一种更快的字符串匹配算法,其核心思想是利用模式串中的已知信息,尽可能地跳过一些不必要的比较。BM算法分为两个步骤:预处理和匹配。
2024-03-06 21:57:37
982
1
原创 KMP算法
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。(建议跳过)
2024-03-02 12:16:05
983
1
原创 计算机网络Part2
数据通信基础模型:在学习物理层之前,我们需要有数据通信基础的知识才能更方便学习。通信的目的:传送消息数据:运送消息的实体(用特定方式表示的信息,有意义的符号序列)源系统包括源点和发送器,目的系统包括终点和接收器,源点就是发数据的设备,终点就是接收数据的设备,发送器和接受器就是负责信号从计算机能识别的和在线路上传输的转换。利用不同的波形表示0 1这些离散值,这些波形就叫做码元。码元的单位:波特Baud(码元/s)
2023-04-15 23:11:24
1382
1
原创 计算机网络Part1
>//什么是计算机网络?目前还没有一个标准的互联网的定义,我理解的计算机网络就是通过链路把许多计算机连起来的构成一个庞大的通信系统就是计算机网络,也简称网络。谢希仁课本的定义是由若干节点和连接这些节点的链路组成。(节点可以是计算机、集线器、交换机或路由器等等,后续会有介绍)什么是互连网?由多个网络通过一些路由器互相连接而成构成了一个更大的网络,也就是“网络的网络什么是互联网?(和上面的互连网作区分)互连网指的是局部范围的网络,那么互联网就是指全球范围下。
2023-04-14 22:24:30
113
1
广州大学课程设计实验报告:学生学籍管理系统
2023-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人