- 博客(33)
- 资源 (1)
- 收藏
- 关注
原创 最长递增子序列问题
目录最长递增子序列问题合唱队问题应用:最长公共子串LCS::最长递增子序列问题问题:给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4.dp法:设长度为N的数组为{a0,a1, a2, ...an-1)...
2019-08-11 00:10:59 639 2
原创 计算机网络——传输层(2)
目录16位端口号:TCP的特点:TCP报文首部TCP C/S模型过程:TIME_WAIT 2MSL:TCP可靠传输手段:滑窗机制ARQ超时重传:拥塞控制Keepalive和HeartBeat:Nagle算法和粘包问题:TCP SYN泛洪攻击交换机和路由器区别:网络编程一般步骤参考文献网络边缘的节点才有运输层,网...
2019-07-26 11:00:35 753
原创 字典树-Trie
目录Trie树基本概念力扣208:实现前缀树实现代码测试结果:Trie树基本概念Trie 树,也叫“字典树”。顾名思义,它是一个树形结构。它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。它的key都为字符串,能做到高效查询和插入,时间复杂度为O(k),k为字符串长度,缺点是如果大量字符串没有共同前缀时很耗内存。它的核心思想就是通过最...
2019-06-20 23:43:30 198
原创 关于滑动窗口解决子串问题
目录滑窗思想:滑窗编程范式:力扣76:最小覆盖子串力扣438:找字符串中所有异位词力扣3:无重复最长子串:滑窗思想:在解决字符串子串问题时,可以采用滑窗的思想;1,在字符串S中使用双指针中左右指针技巧,初始化left = right = 0,把索引[left,right]成为一个窗口2,不断增加right指针扩大窗口[left,right],直到窗口中字符...
2019-06-04 12:10:15 434
原创 利用allocator 和c++11的initializer_list封装vector容器
内存相关的 allocate 和 deallocate;构造相关的 construct 和 destroy。(两者分离)进行内存分配管理;实现vector,测试基本功能和STL常见算法一同测试
2019-05-31 22:11:16 596
原创 STL源码剖析阅读笔记--关联容器(2)
关联式容器:关联式容器主要有基于红黑树实现的set map multiset multimap 等和基于hashtable实现的hash_set hash_map hash_multiset hash_multimap。其中RB-tree容器是非公开的,hash_XX非标准的,而在c++11里面用unordered_set unordered_map unordered_multimap un...
2019-05-20 20:26:25 408
原创 MySQL必知必会读书笔记
MySql 事物 隔离级别 ACID 锁 并发控制 MVCC 存储引擎 索引 Innodb MyIsam 数据库逻辑架构
2019-05-14 16:14:30 1002 2
原创 STL源码剖析阅读笔记--线性容器(1)
好久好久么写了,看的书不少却很难落实记录下来,难得浮生半日闲,实验室项目暂告一段,最近阿里和中行面试终于基本完了,终于可以再捧起侯捷大神的STL,Mark一下,督促自己多书多记录,希望2019自己能在项目,毕设和找工作之间游刃有余。目录语法两则:语法: 1、临时对象的产生—一种无名对象,不在程序预期之下(passer by value会产生临时对象,负担)2、静态...
2019-05-12 20:57:44 1608 2
原创 操作系统与系统编程——并发(5)
目录多进程:多线程:高并发的问题进程池与线程池线程池五种I/O模型阻塞式I/O非阻塞式I/O信号驱动IO异步Asynchronous I/OI/O复用select poll epoll多进程:Server端Client客户端:关于listen和accept多线程:多线程需要考虑的问题...
2019-03-22 17:39:52 1061 2
原创 DFS(递归+栈) BFS 以及路径记录
DFS:深度优先遍历,深度优先遍历。 两种实现方式:递归和栈。 递归:从顶点v出发深度遍历图G的算法 1访问v 2 依次从顶点v未被访问的邻接点出发深度遍历。 栈: 1访问v 2将v的邻居节点入栈 3 将栈的顶部元素出栈访问,同...
2019-03-19 18:39:10 3350
原创 epoll的一个小应用——高并发聊天室
APUE中关于I/O复用没有epoll的讲解,Linux高性能服务器中的讲解比较中肯,写个聊天室练习一下。基于C/S模型的高并发聊天室项目,在linux环境下开发,主要功能包括用户上线通知、用户离线通知和用户群聊等基本功能。基于Socket套接字和epoll机制开发了系统的客户端和服务器端;服务端为了提高并发量采用epoll监视网络接口;客户端采用epoll方式分别监视网络socke...
2019-03-11 18:19:59 713
原创 Redis的设计与实现阅读笔记
目录Redis简单的动态字符串SDS:链表:字典:跳表整数集合压缩列表:实际为低概率事件,条件很难达到,时间复杂度趋近于O(N)。对象单机数据库数据库RDB持久化:自动间隔性保护:RDB文件结构...
2019-03-11 11:10:43 671
原创 c++ 的标准I/O 和一个基于文件存储的学生信息管理系统
板子出问题了,今晚又要通宵了,哎,工程重新综合完不知道啥时候去了,难受啊,还是总结一下前段时间看的标准I/O吧。顺便写了个基于文件保存信息的学生管理系统,加深一下对文件I/O的理解,还是忍不住吐槽配古董级电脑的综合工程速度。。。目录I/O三个独立的头文件:iostream fstream sstreami/o流基本操作:<sstream>的应用,类型转换str...
2019-03-10 01:52:14 835
原创 STL——set multi_set map multi_map unordered_set unordered_map heap priority_queue(3)
最近做编程题发现关联容器忘得多,翻翻以前写的代码,mark一下,勉励自己目录基本概念map multi_mapunordered_set unordered_map具体成员函数API调用代码priority_queuepush_heap pop_heap sort_heap参考:基本概念map multi_mapmap是标准的关联式容器,一个...
2019-03-10 00:48:44 325
原创 操作系统与系统编程(2)——进程
进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;环境变量 envc 进程原语fork vfork wait waitpid exec 进程间通信 fifo pipe IPC socket 守护进程 会话 僵尸进程 孤儿进程 终端登录
2019-03-10 00:26:02 1011
原创 操作系统与系统编程(1)——文件
文件I/O:内核缓冲区和用户缓冲区标准I/O和文件I/O:网络I/O的buffer:PCB进程管理模块:文件结构体:文件I/O api:ext2的文件系统:文件控制api
2018-11-11 16:50:41 1168 2
原创 STL——dequeue queue priority_queue list(2)
双端队列deque:底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问,deque是一个双端队列(double-ended queue),也是在堆中保存内容的.它的保存形式如下:[堆1] -->[堆2] -->[堆3] --> ...每个堆保存好几个元素,然后堆和堆之间有指针指向,看起来像是list和vector的结合品.适配器queue priority_queue:端单queue:底层一般用list或deque实现,
2018-11-11 00:00:47 384
原创 STL——array、内置数组、vector和string(1)
目录array的基本方法vector等线性容器的基本方法比较:string的基本用法:参考:array的基本方法与c++语言内置的数组一样, array类模版支持几乎所有内置数组包含的特性,array为c++11新特性顺序的(sequence) 内存连续的(contiguous storage) 固定大小的(fixed-size) array::begin ar...
2018-11-10 23:33:10 646
原创 动态规划 01背包 完全背包 多重背包
目录概念1、动态规划(DP)2、动态规划求解具有以下的性质:3、求解思路01背包问题求解思路二维数组和一维数组实现01背包问题:完全背包问题完全背包问题代码优化:多重背包问题:测试程序:测试结果:参考:
2018-11-09 01:05:01 261
原创 分治+全排列+归并+快排
目录分治思想: 全排列问题:组合问题:归并排序:快速排序:测试程序:测试结果:分治思想:将一个大问题分解成多个小问题,小问题可解,则可以用这几个问题的解构成大问题的解;分治问题代码模板:DataType Divide_and_Merage(P) { if(P<n0) Adhoc(P);//问...
2018-11-09 00:46:03 194
原创 Leetcode-1 二叉树的深度
问题:给定二叉树,找到它的最小深度。最小深度是沿从根节点到最近的叶节点的最短路径上的节点数。分析:本题要注意最小深度与最大深度的区别:对于最大深度,不需要考虑当前子树是否为单子树(即一侧子树深度为0)的情况,即最大深度一直等于左右子树的最大值;对于最小深度,需要考虑当前子树是否为单子树的情况,对于双子树,其最小深度为左右子树的最小值,对于单子树,其最小深度为左右深度的最大值(因为有一侧的子树为...
2018-11-08 16:55:52 213
原创 单项链表+双向链表+循环链表的+队列+栈的(c思想面向过程)实现
单项链表的实现+双向链表实现+循环链表实现+基于链表的栈的实现+基于链表的队列的实现
2018-07-02 22:32:54 409
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人