10 2023 档案
摘要:目录 背景 内容 准备工作 在windows平台上 在linux平台上 正式工作 生成差分文件思路 作用差分文件思路 在保持相同目录结构进行差分增量升级 服务端(生成差分文件) 客户端(作用差分文件) 12月6日更新(修复bug) 执行分析 注意事项和关注的地方: 背景 像常见的Android 的l
阅读全文
摘要:什么是Trie树? Trie树,又称字典树或者前缀树,是一种特殊的树形数据结构。它的目的是为了解决字符串快速查找的问题,可以高效地进行单词的插入、查询和删除等操作。 基本思想 Trie树的基本思想是用每个字符来作为树的一个节点,从根节点到某个节点路径上的字符连接起来就是该节点对应的字符串。Trie树
阅读全文
摘要:容器 vector 首先,vector是一个变长数组,元素属于顺序存储. 数组扩容,默认以倍增的思想进行扩容.在算法中,开辟动态内存的次数会极大影响算法的运算时间,这个时间主要是os为程序申请内存时的的内核态和用户态的堆栈切换导致的.所以能一次性分配完就不要频繁分配内存. 一般有两种扩容方法: 定长
阅读全文
摘要:什么是堆 堆是一种特殊的树形数据结构,它满足以下两个条件: 堆是一个完全二叉树:即除了最后一层外,每一层都是满的,且最后一层上的节点都集中在左侧。 堆中每个节点的值都要大于等于(或小于等于)其子节点的值:如果每个节点的值都大于等于其子节点的值,我们称之为“大根堆”;如果每个节点的值都小于等于其子节点
阅读全文
摘要:序言 本篇为收集的技术面的面经以及自己经历的补充 共分为两部分 第一部分,网络上汇总的面经.(已标明出处)第二部分,鄙人亲自经历的面经汇总.(持续更新) 第一部分:网络面经汇总(共性) 第一章进程线程 1.1 进程线程的基本概念 进程是操作系统进行资源分配和调度的基本单位.一个进程包括: 程序代码:
阅读全文
摘要:什么是静态链表 与常见的数据结构的链表不同,想想常见的链表,每次新增数据都要重新开辟内存,这对有时间限制的算法程序来说每次插入新的数据就malloc是绝对会TLE的(除非从一开始就新开辟连续的堆空间当然这种情况下就不是动态链表了). 所谓静态链表,指的是: 静态链表是一种使用数组来实现链表的数据结构
阅读全文
摘要:关于动态规划 动态规划是一种解决多阶段决策过程最优化问题的数学方法。其基本思想是将问题分解成若干个子问题,通过求解子问题的最优解来推导出原问题的最优解。 具体而言,动态规划方法可以分为两个步骤: 定义状态:将原问题转化为某一阶段的子问题,并记录下该子问题的最优解。 状态转移方程:通过对每个子问题的最
阅读全文
摘要:认识(哈希表/散列表) 哈希表,这个词若是对学过Java集合的人来说,是再熟悉不过的了,一般从数据库力获取的一切属性和值的映射都可用用hash表来存储,被称为万能的HashMap.在C++的STL里有Map,Set,unorderd_map ,unorderd_set,multmap,multset
阅读全文
摘要:输入和输出的注意点:scanf读取字符时会读取空格和回车 而scanf读字符串时会自动忽略空格和回车 并查集快速处理两类操作: 将2个集合合并询问两个元素是否在一个集合当中 几乎O(1)完成这两个操作 基本原理 每个集合用一棵树来表示,树根的编号就是整个集合的编号, 每个节点存储它的父节点,用一维数
阅读全文