大纲: 双向链表-list 压缩表-ziplist 快速表-quicklist 一、双向链表-list redis早期版本处理list用的就是双向链表 struct listNode{ struct listNode *prev; //前一个节点 struct listNode *nenxt; // ...
分类:
其他好文 时间:
2021-04-30 12:28:31
阅读次数:
0
并查集主要用于解决连接问题,其基本思想是为每一个数据都打上标签,当标签一致时则为一个集合。但是考虑到求并集的时候的效率问题,这里采用树形结构解决该问题,简单来说就是利用两个节点的根节点是否一致作为是否为一个集合的标志。 实现 查找:为防止该数据结构退化为链表,在每次查找过程中,选择进行路径压缩,使该 ...
分类:
编程语言 时间:
2021-04-29 12:09:20
阅读次数:
0
算法的五大特征输入:0或者多个输入输出:1或者多个输出有穷性:有限的步骤,可接受的时间确定性:每一步都有确定的意义,不会出现二义性可行性:每一步都是可行的 单靠时间判断算法效率不准确,需要结合硬件和环境时间复杂度:T(n) = n^3*2大o表示法:n^3 数据不同,算法执行不同最优时间复杂度最坏时 ...
分类:
编程语言 时间:
2021-04-29 12:05:40
阅读次数:
0
1. 希尔排序 思路: 是优化了的插入排序,可以改进当最值处于头或尾需要多次移动元素的问题,因为它会设置步长k(>=1),初始步长是len/2, 先保证步长为k的每个子数组有序,再进一步缩小步长直到为1的时候,数组基本有序。 ''' 希尔排序 时间复杂度 平均:O(nlogn) 最好:O(nlogn ...
分类:
编程语言 时间:
2021-04-29 11:58:13
阅读次数:
0
#!/usr/bin/env /usr/bin/python3 # -*- coding:utf-8 -*- # 1.冒泡排序 l = [8,3,22,15,17] for i in range(1,len(l)): flag = False for j in range(0,len(l)-i): ...
分类:
其他好文 时间:
2021-04-29 11:55:09
阅读次数:
0
go for range循环map是无序的 , 这个是go team团队 有意为之 在进行循环遍历的时候 , 生成了一个随机数作为遍历开始的位置 可以for range循环map取出所有的key , sort.Strings(keys) , 排序所有的keys 再循环所有的keys , 按这个循环取 ...
分类:
其他好文 时间:
2021-04-29 11:44:15
阅读次数:
0
全文检索通过sphinx搜索出来的内容是没有问题的。 但是搜索结束之后,文章的排序还是多少有点小问题,是这样,我最开始是使用时间倒叙排序,这样就会有一个小问题就是,我想要的结果,或者说跟我搜索关键词最贴近的结果不会出现在前几条。这个体验很不好。 然后,我这里使用了PHP内置的similar_text ...
分类:
编程语言 时间:
2021-04-28 12:22:57
阅读次数:
0
Pandas数据处理: 导?数据 导出数据 查看数据 数据选取 数据处理 数据分组和排序 数据合并 # 在使用之前,需要导入pandas库 import pandas as pd 导?数据: pd.DataFrame() # 自己创建数据框,用于练习 pd.read_csv(filename) # ...
分类:
其他好文 时间:
2021-04-28 12:19:39
阅读次数:
0
redis的基本数据结构用过的都比较了解。大多数也就是考察一下这些数据结构的特点和使用方法。因为redis就是个缓存层,而且基本不会去手改它。但是有的就会比较深入的问询一些更底层的东西,例如了解各种数据结构是怎么实现的么。问这种问题的一般都是对redis相当了解的。虽然考察到的概率比较小,但是还是知 ...
分类:
其他好文 时间:
2021-04-28 11:49:51
阅读次数:
0
一些简单的算法与数据结构 稀疏数组 int chessArr1[][] = new int[11][11];//11*11的数组 int sum = 0; chessArr1[1][2] = 1;//设置两个值 chessArr1[2][3] = 2; //打印原数组 for(int[] row : ...
分类:
编程语言 时间:
2021-04-28 11:46:26
阅读次数:
0