08 2020 档案

摘要:python 浅拷贝 dp = [[0] * 3 ]*3 dp[1][1] = 1 print(dp) #[[0, 1, 0], [0, 1, 0], [0, 1, 0]] 列表推导式 dp = [[0] * 3 for j in range(3)] dp[1][1] = 1 print(dp) # 阅读全文
posted @ 2020-08-26 17:01 kite97 阅读(201) 评论(0) 推荐(0)
摘要:STL的sort()算法 灵魂追问 STL里sort算法用的是什么排序算法? 数据量大和数据量小都适合用快速排序吗? 快速排序的时间复杂度不是稳定的nlogn,最坏情况会变成n^2,怎么解决复杂度恶化问题? 快速排序递归实现时,怎么解决递归层次过深的问题? 递归过深会引发什么问题? 怎么控制递归深度 阅读全文
posted @ 2020-08-19 15:08 kite97 阅读(341) 评论(0) 推荐(1)
摘要:最长下降子序列 一些预备知识 结构体 vs2019定义在xstddef而不是funtional // STRUCT TEMPLATE greater template <class _Ty = void> struct greater { _CXX17_DEPRECATE_ADAPTOR_TYPED 阅读全文
posted @ 2020-08-12 23:14 kite97 阅读(1381) 评论(0) 推荐(0)
摘要:单链表的各种花样 以下的数据结构基于单链表 反转从m到n的链表(reverse pro版) 考虑几个问题 m,n的合法性与取值范围(链表只有一个元素,链表只有两个元素,[m,n]在链表内部,m是第一个节点,n是最后一个节点) 逆转[m,n]的之间的元素与反转整个链表的逻辑类似,都是使用三个指针迭代, 阅读全文
posted @ 2020-08-11 22:58 kite97 阅读(148) 评论(0) 推荐(0)
摘要:单链表 概念 与数组不同的是链表的存储单元不一定是连续的 每个结点除了数据域之外保存了后继指针 关于头节点和头指针 头指针指的是链表中第一个结点的存储位置(若无头节点则指针指向第一个节点,否则指向头节点) 头节点则是为了对第一个元素前插入/删除节点时,与其他节点操作一致 链表可以没有头节点但不可以没 阅读全文
posted @ 2020-08-10 23:30 kite97 阅读(147) 评论(0) 推荐(0)
摘要:what? 拓扑排序是指在有向图中的顶点序列,且序列满足若存在从a到b的路径,那么b排在a之后的性质。 拓扑常用来检测图中是否存在环。 how? 入度:设有向图中有一结点v,其入度即为当前所有从其他结点出发,终点为v的的边的数目。也就是所有指向v的有向边的数目。 出度:设有向图中有一结点v,其出度即 阅读全文
posted @ 2020-08-10 16:16 kite97 阅读(675) 评论(0) 推荐(0)
摘要:开启慢查询 查看慢查询的状态 查看慢查询时间 查看慢查询文件路径 设置慢查询的两种方法 1)数据库SQL set global slow_query_log=ON set global long_query_time=1 重启Mysql配置会失效 2)修改my.cnf配置文件 [mysqld] sl 阅读全文
posted @ 2020-08-09 22:18 kite97 阅读(139) 评论(0) 推荐(0)
摘要:Mysql索引优化 准备数据 建立一个测试用表 往表中插入10w条随机数据的存储过程 CREATE DEFINER=`root`@`%` PROCEDURE `insert_tbl`(in max_num int(10)) BEGIN declare i int default 0; set aut 阅读全文
posted @ 2020-08-09 12:45 kite97 阅读(125) 评论(0) 推荐(0)
摘要:Mysql基础 删除 cmd 删除内容 语言类型 删除速度 drop 数据+结构 DML(可回滚) 快 truncate 数据 DDL(不可回滚) 中 delete 数据 DDL(不可回滚) 慢 说明 1)表结构指表的定义与约束、索引、触发器等 2)delete语句每次从表中删除一行,并将该操作作为 阅读全文
posted @ 2020-08-08 23:29 kite97 阅读(143) 评论(0) 推荐(0)
摘要:动态规划 能够动态规划的问题具有以下特点: 可分解成规模更小的子问题 子问题的结果可复用 关键是要理解状态转移方程的含义就好啦! 数字三角形 问题描述 在数字三角形寻找从顶到底的路径,使得路径经过的数字之和最大。规定每一步只能往左下或右下走,求出最大路径和。 递归解法 #include<iostre 阅读全文
posted @ 2020-08-07 17:41 kite97 阅读(160) 评论(0) 推荐(0)
摘要:主从复制 What? 主从复制,建立与主数据库(master)的副本从数据库(slave)。开启主从复制之后master会将DML,DDL等操作写入到二进制文件,slave根据二进制文件Redo日志文件的操作。 Why? 读写分离,负载均衡 在master上执行增删改,在slave上执行查。减小响应 阅读全文
posted @ 2020-08-06 23:10 kite97 阅读(123) 评论(0) 推荐(0)
摘要:##Shell常用快捷键 | 命令 | 含义 | | : : | : : | | tab | 用于自动补全命令/文件名/目录名 | | ctrl + insert | 复制 | | shift + insert | 粘贴 | | home(ctrl + a) | 光标移动到命令行开头 | | end 阅读全文
posted @ 2020-08-06 21:15 kite97 阅读(149) 评论(0) 推荐(0)
摘要:c++11 ‘Effective Modern c++’ 英文版,c++新特性讲得不错,需要的戳文末。 初始化列表 数组之外,STL容器和自定义数据类型也支持初始化列表,而且格式统一 initializer_list是轻量级的容器,只有begin(),end(),size(),只能被整体初始化,要求 阅读全文
posted @ 2020-08-06 15:55 kite97 阅读(189) 评论(0) 推荐(0)
摘要:排序 桶排序 适用情况 元素值分布相对集中的序列(需要设计良好的映射规则) 排序过程 按映射规则,申请桶数组 遍历,将元素分到对应的桶 桶内排序 遍历,桶外合并 void bucketSort(int* arr, int len) { int maximum = INT_MIN, minimum = 阅读全文
posted @ 2020-08-05 17:50 kite97 阅读(183) 评论(0) 推荐(0)
摘要:浅谈哈希表 定义 散列表,通过散列函数把键值映射到散列表中的一个位置,根据关键字可以直接访问内存存储位置的数据结构。 实现 散列函数 直接寻址法:一次线性函数映射,若冲突则向下一位移动 平方取中法:键值取平方,再取中间的几位数作哈希地址 除数取余法 :关键字被小于等于表长度的数除取得余数作散列地址。 阅读全文
posted @ 2020-08-04 16:58 kite97 阅读(174) 评论(0) 推荐(0)
摘要:Heap 定义 小顶堆:每个节点的值小于或等于孩子节点的值 堆在结构上符合完全二叉树的性质,存储上采用一维数组,利用下标来认亲。 可以使用优先队列实现大小顶堆 #include<queue> #include<vector> #include<functional> priority_queue<i 阅读全文
posted @ 2020-08-04 12:29 kite97 阅读(859) 评论(2) 推荐(1)
摘要:Self-Balancing Binary Search Tree 定义 任意节点子树的高度差(称为平衡因子)不超过1。 节点结构体: template<class T> struct Node { T key; Node<T>* lchild; Node<T>* rchild; Node<T>(T 阅读全文
posted @ 2020-08-04 10:54 kite97 阅读(1085) 评论(1) 推荐(0)
摘要:Binary Search Tree 定义 每一个节点的值大于其左子树(若存在)任意节点,小于其右子树(若存在)任意节点。 节点结构体: template<class T> struct Node { //节点结构体 T key; Node<T>* lchild; Node<T>* rchild; 阅读全文
posted @ 2020-08-03 23:36 kite97 阅读(387) 评论(0) 推荐(0)