- 博客(7)
- 资源 (8)
- 收藏
- 关注
原创 字典树相关的算法题目
1. 字典树的实现208. 实现 Trie (前缀树)请你实现 Trie 类:Trie() :初始化前缀树对象。void insert(String word): 向前缀树中插入字符串 word 。boolean search(String word): 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false 。boolean startsWith(String prefix) :如果之前已经插入的字符串word 的前缀之一为 prefix ,.
2022-03-26 15:35:17 789
原创 linux c++网络模型
一 基本概念用户空间和内核空间在Linux/Unix中,对于一次读取IO的操作,数据并不会直接拷贝到应用程序的缓冲区(用户空间),它首先会被拷贝到操作系统内核的缓冲区(内核空间)中,然后才会从操作系统内核的缓冲区拷贝到应用程序的缓冲区。同步和异步同步:发出一个功能调用时,在没有得到结果之前,该调用就不返回,也就是必须一件一件事做,等前一件做完了才能做下一件事。异步:调用发出后,一般不会马上得到结果,而是在调用的部件完成后,通过状态、通知和回调来通知调用者:状态——监听被调用者的状态(轮询
2022-01-11 22:36:26 692
原创 c++的红黑树
目录前置知识红黑树的定义红黑树的应用场景红黑树的代码实现红黑树的结构定义获取叔父节点和祖父节点左旋和右旋新增节点技术参考前置知识c++的二叉搜索树红黑树的定义红黑树在二叉搜索树的结构基础上,增加了一些规则:1. 所有节点不是红色就是黑色2. 根节点和叶子节点都是黑色3. 如果一个节点是红色,那么它两个孩子是黑色4. 从根节点到任意一个叶子节点的路径上经过的黑色节点数量都是一样的。红黑树的应用场景以下工程里会用到红黑树:1
2022-01-03 21:20:02 499
原创 c++的二叉树
目录二叉树的定义二叉树的分类1. 完全二叉树2. 满二叉树3. 斜树4. 二叉搜索树5. 平衡二叉树二叉树的存储方式1. 数组存储2. 链表存储二叉树的遍历方式1. 前序遍历2. 中序遍历3. 后序遍历4. 层序遍历二叉树的代码实现总结技术参考二叉树的定义二叉树是每个节点最多只有两个子树的数结构,两个子树称为左子树和右子树。二叉树的分类1. 完全二叉树假设其深度为 d(d>1)。除了第 d 层外....
2022-01-01 12:28:22 11825
原创 常用的设计模式
目录什么是设计模式?设计模式的基本原则如何找到设计模式常见的设计模式和使用场景1. 模板模式2. 观察者模式3. 策略模式4. 责任链模式5. 装饰器模式6. 单例模式7. 工厂方法模式8. 抽象工厂模式9. 适配器模式10. 代理模式推荐书籍技术参考什么是设计模式?设计模式是指在软件开发中,经过验证的,用于解决在特定环境下,重复出现的,特定问题的解决方案。面向对象设计模式通常以类或者对象来描述其中的关系和相互作用,但不涉及用来完成
2021-12-30 18:54:22 492
原创 KMP算法(c++)
算法描述使用文本编辑的时候,常常会用到搜索功能,比如在一个文本"abcabcabcabcabcd"里查找"abcabcd"第一次出现的位置,这个功能如何用代码来解决呢?最直观的办法就是暴力比较,从文本第一个字符开始逐个和要匹配的字符一一比较,遇到不相等的字符,则倒退从第二个字符重复上面的步骤:一共比较了六次。通过观察可以发现,有些比较是可以省掉的:真正的有效比较一共只需要四次。如何能高效的搜索,最好是遍历文本的次数只有一次。也就是假如有两个指针分别指向文本和匹配字符串,文本的..
2021-12-28 00:21:40 1145
原创 c++十大经典排序算法
代码1 冒泡排序冒泡排序是一种简单直观的入门排序算法。它的原理就是从第一个元素开始,与后面的元素逐个比较,如果顺序不对就交换,直到没有可比较的元素为止。 1 // 冒泡排序 2 void BublingSort(int *arr, int len) 3 { 4 if(len == 0) 5 { 6 return; 7 } 8 std::cout<<"冒泡排序"<<std::endl; 9 for(i
2021-12-28 00:19:01 5339
Beginning.Python.From.Novice.to.Professional
2012-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人