自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 MySQL高级及索引优化(更新中)

MySQL高级MySQL基础查看字符集(默认的server和client采用的是Latin,写中文会乱码)mysql> show variables like '%character%';mysql> show variables like '%char%';存储引擎对比项myisaminnodb主外键不支持支持事务不支持支持行表锁表锁,即使操作一条记录也会所著整个表,不适合高并发操作行锁,适合高并发操作缓存只缓存索引,不缓存真

2021-08-19 21:43:36 159

原创 图的相关算法(更新中)

图图并查集DFS(deep first search)BFS(breath first search)遍历最短路径最小生成树单源最短路径Dijkstra拓扑排序Kahn算法图基本分类:有向图、无向图、加权图并查集DFS(deep first search)BFS(breath first search)应用:最短路径、遍历图遍历用队列(queue),不做概述最短路径找出两点间的最短路径的前提条件:权重相等且为正数最短路径(第一次取到的目的数肯定是最短路径)DFS也可以找出最短

2021-08-03 15:28:37 207

原创 九大封神排序算法(更新中)

九大排序排序算法时间复杂度O(n**2)冒泡排序选择排序插入排序时间复杂度O(nlogn)希尔排序堆排序快速排序排序算法时间复杂度O(n**2)冒泡排序排序思想:一边比较一边向后两两交换,将最大值 / 最小值冒泡到最后一位/* thought for code: 冒泡排序要交换n-1次,这是第一层循环 在每一次交换中都会把最大的数放到最右边,此时最右边这个数便不用参加排序了 因此,第二层循环的条件是-i*/int array[] = { 4, 3, 5, 1 }, temp =

2021-08-02 21:10:43 148

原创 哈希表(散列表)的伟大之处!

哈希表的伟大之处!为什么选哈希表?哈希表哈希函数的构造方法处理冲突的方法哈希表的查找及分析code为什么选哈希表?为什么要用哈希表?其他查找方法缺点在哪里?在线性表、树等数据结构中,记录在结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较(查找的效率依赖于查找过程中所进行的比对次数)想要不经过任何比较、一次存取就能得到所有记录,就必须在记录的存储位置和她的关键字之间建立一个确定的对应关系,使得每个关键字和结构中一个唯一的存储位置相对应。在

2021-08-01 21:59:43 294

原创 图的邻接矩阵和邻接表及其选择

一般图的表示方法为G(V,E),其中G表示graphic图,V表示点的集合,E表示边的集合,一般可以用邻接矩阵和邻接表来表示一个图图的分类:按照方向可以分为有向图和无向图按照权重可以分为带权图和不带权图邻接矩阵表示法无向图 || 有向图:dp[a][b]表示a行和b行是否连通(默认从1开始)int dp[][] = { {0, 1, 1}, {0, 0, 1}, {0, 0, 0},};带权图 || 不带权图:dp[a][b]表示的是a行和b行的权重是多少(一般有数值即有权重),

2021-08-01 15:06:32 1065

原创 数据结构精解(4):栈和队列

栈(stack)是限定仅在表尾进行插入或删除操作的线性表,因此,对于栈来说,表尾端有其特殊含义,称为栈顶,相应的,表头端称为栈底,不含元素的栈称为空栈栈有一个重要的性质,就是先进后出,First ln Last Out(FILO)。给几个元素,求其合法的出栈顺序个数,采用卡特兰数(1 / (n + 1)) * C[n, 2n]#include <stdio.h>#include <stdlib.h>typedef struct Stack { int * data;

2021-07-31 18:16:44 108

原创 Redis源码剖析之路(1):数据结构与对象

Redis源码剖析之路数据结构SDSSDS和C数组区别链表俗话说,了解一个人的内心从能真正了解这个人,这句话自古通用,看透本质才能真正了然于心,做到万变不离其宗!这篇博客更新时间应该很长,希望大家耐心关注看完哈,我也会很耐心写完的!数据结构SDS一个SDS数组typedef char *sds;一个sdshdr结构体用来标识该数组struct sdshdr { int len; int free; char buf[]; // 默认是Redis\0,末尾为\0,所以

2021-07-31 06:53:13 97

原创 OS:进程和线程的前世今生

导读:想写这个玩意很久了,进程这个东西是一个很巧妙的东西,当你打开计算机时,他无时无刻不在,以前也研究了很多,在另外一篇博客上也写了许多的分支(管理,调度,状态,通信等等),所以这个玩意是很重要滴!(严肃脸)才有了今晚的进程文章(现在在凌晨四点ing,主要是白天在搞数据结构和算法,也没时间写这些),希望让大家和自己有一个更加清晰的认识咯!参考书籍和视频:《深入计算机操作系统》《Linux内核设计与实现》进程的经典定义就是一个执行中程序的实例,程序指的是一个可执行文件(.out,本篇文章是以Li

2021-07-31 05:14:19 223

原创 位运算学习笔记(bit operation)

导读:位运算,字如其名,学着学着就跑到计算机组成原理中去了,真是噩梦!如果是普通的加减乘除还好,直接进行位运算,小懂也做不了啊!没办法,这部分比较重要,还是学吧!位运算进制进制转换和原、反(弥补减法)、补(弥补两个0的表示)我不想啰嗦了……位运算计算机采用的是二进制,二进制包括两个数码:0,1。在计算机的底层,一切运算都是基于位运算实现的。位运算共有 6 种,分别是:与、或、异或、取反、左移和右移,其中左移和右移统称移位运算,移位运算又分为算术移位和逻辑移位。上述位运算中,只有取反是一元运算,其

2021-07-31 01:11:24 167

原创 动态规划学习笔记(dynamic programing)

导读:近两天开始学习动态规划,有一说一,学着真的d疼,动态规划是从暴力递归来的,一步步的推算真的让人找不到南北,不过,也有一说一,动态规划的思想确实先进,了解了动态规划的思想,问题就变得好解决多了。动态规划的思想:若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。线性动态规划线性动态规划的主要特点是状态的推导是按照问题规模 i 从小到大依次推过去的,较大规模的问题的解依赖较小规模的问题的解。单串问题:依赖比 i 小的 O(1) 个子问题dp[n] 只与常

2021-07-30 23:59:48 163

原创 unordered_map和map的差异

内部实现机理:map:红黑树(一种非严格平衡二叉排序树),具有自动排序的功能,红黑树的每一个结点代表着map的一个元素,因此,对于map的增删改查都相当于对于红黑树的操作,因此,使用中序遍历(左中右)可以将元素升序输出。二叉排序树指的是左孩子结点的值小于根结点的值,右孩子结点的值大于根结点的值,比如传统的二叉排序树(BST)和平衡二叉树(AVL)unordered_map:哈希表(hashtable),也叫散列表,通过把关键码值映射到Hash表中一个位置来访问记录,查找的时间复杂度可达到O

2021-07-30 18:22:00 218

原创 MySQL学习笔记

SQL基本操作退出数据库mysql> exit查看所有的数据库mysql> show databases;创建自定义数据库mysql> create database test;选择数据库进行操作mysql> use test;查看数据库中的表mysql> show tables;创建一个数据表mysql> create table pet (name VARCHAR(20), owner VARCHAR(20), sex CHAR(1

2021-07-29 18:37:31 109

原创 数据结构精解(2):线性表(顺序表和链表)

线性表(顺序表和链表)线性表顺序表信息描述初始化、增删改查链表信息描述初始化、增删改查特殊链表Leetcode文章结构:第一部分是描述相关信息,第二部分是相关操作(初始化、增删改查),第三部分是解答相关习题(《数据结构–严蔚敏》),第四部分是leetcode题目(一道easy+一道middle)青春的幻想既狂热又可爱。一约肖特豪斯线性表线性表是由相同数据类型的 nn 个数据元素 a0,a1,an−1组成的有限序列。一个数据元素可以由若干个数据项组成。若用 LL 命名线性表,则其一般表示如下:

2021-07-28 23:29:20 132

原创 数据结构精解(1):引言及时间复杂度和空间复杂度

导读:本系列是完全面对考研的,所以是详略得当的原则,当然,重要的必然会详细,数据结构作为计算机课程中一门极其重要的课程,无论是理论还是实践都是很重要的,也希望大家在看文章的同时多多进行针对性刷题。打牢基础,攻坚拔地。既然决定了考研,那便朝着这个方向,努力前进吧!本系统会持续更新,并且在每篇文章的末尾会进行一定的题型训练,主要是针对leetcode网站的。(一篇easy+一篇middle)一起加油吧!只有向自己提出伟大理想,并以自己全部的力量为之奋斗的人,才是最幸福的。——加里宁什么是数据结构

2021-07-28 16:56:27 99

转载 web前端:Javascript学习笔记和jQuery库操作

JavascriptJavascriptECMAScriptIO和数据类型运算符和表达式流程控制数组函数面向对象常见APIDOM获取元素事件修改元素内容修改元素属性修改元素样式操作表格BOM窗口页面加载调整窗口大小事件定时器JS执行机制Location对象navigator对象history对象jQueryjQuery对象和DOM对象jQuery选择器jQuery样式操作jQuery效果jQuery属性操作jQuery元素内容jQuery元素操作jQuery尺寸、位置操作jQuery自动触发事件导读:J

2021-07-28 16:20:44 129

原创 软件工程开文

原博客的一篇小文:algorithm算法源码分析查阅了一晚上的考研资料,感觉考研似乎不是我想象中的那么糟糕,那便决定考研吧!目标院校暂定为吉林大学。本博客新建也不主要是为了考研,除了考研之外,想系统的学一下有关软件的知识,比如软件工程知识、UML图、面向对象程序设计等等。一起加油吧!如果有同校的考研同学可以私聊加我呀。...

2021-07-27 06:41:23 100

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除