数据结构
温柔如風
相见即是缘
展开
-
Mysql索引失效问题
mysql索引有时候会失效,比如大于号右边的索引会失效,使用like索引会失效。这时候需要了解到联合索引我们可以看到以a字段排列是有序的 1-2-3这样子但是以b字段排序就是无序的 1-2-4-8-1-2是因为b字段排序是基于a字段排序的,a字段如果相同就比对b字段 再将a相同的字段根据b字段排序最佳左前缀法则:假设user_id是作为联合查询的a字段,user_country是b字段那么第一条sql语句就可以使用到索引 因为a是有序的 b在有a的情况下也是有序的第二条sql语句少了作为原创 2021-05-23 18:44:13 · 811 阅读 · 0 评论 -
mysql底层索引数据结构
索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页去找。mysql 的底层索引的数据结构是B+树,那为什么是B+树呢?为什么不是哈希索引?为什么不是平衡二叉树?以及为什么不是B树在这里给大家分享一下这个网站https://www.c原创 2021-05-23 17:55:53 · 179 阅读 · 0 评论 -
散列表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。这里有一串名字 他们各自对应一段编号。我们根据名字来找到编号 这种就称为散列表或是哈希表最简单的方法就是准备一个数组 将这些键值对散列在不同的单元格中,但是如果要找某一个编号就要从头开始遍历,比较耗时。而散列表先把键通过某种映射获得数组的索引,然后根据索引直接找到,这样就原创 2021-03-31 14:03:03 · 112 阅读 · 0 评论 -
选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。主要就是每次循环时取出最小的值,放在前面排列下来比如 19 2 9 7 4 1第一次循环将1放到前面 1 19 2 9 7 4第二次循环将2放到前面 1 2 19 9 7 4第三次循环将4放到原创 2021-03-29 13:44:26 · 52 阅读 · 0 评论 -
平衡二叉树
这是一棵现实生活的树,这是我们程序员的树倒过来的树,树的树干我们称作根节点,树枝叫子节点,但是如果子节点没有子节点的话那就叫叶子节点一个子节点最多有两个子节点,一左一右的结构,而且左子节点会小于右子节点假设我们现在要查找11这个数我们先比较 8 发现大于8 那么往右子节点走 再比较9 发现还是比大 那么再往右走 跟11比较 最后匹配我们只需要查找三次 树的高度就是查找的次数相比于传统线性数据结构 比如链表同样查找11 那么就需要比较包括11在内的5次 11前面的全要查找。所以二叉树原创 2021-03-25 14:38:28 · 84 阅读 · 1 评论 -
huffman编码
哈夫曼编码主要用于压缩,出现频率较多的字符分配越短的编号。如图f出现6次 e出现8次 c出现15次 d出现21次 a出现55次这时候我们准备构建一个二叉树,先构建一个新的子节点 Z ,从容器中取出最小值f作为其左子节点 再取出最小值e作为右子节点接下来把Z节点放回容器 ,由于永远按照从小到大排序,故Z节点排在c前现在进行第二轮操作,构建一个新的子节点 Z ,从容器中取出最小值14作为其左子节点 再取出最小值c作为右子节点进行第三轮操作,构建一个新的子节点 Z ,从容器中取出最小值d作为其原创 2021-03-24 14:17:18 · 79 阅读 · 1 评论 -
Java-栈
栈(stack):是线性表的一种,限制仅在线性表的一端进行插入和删除操作。其中允许插入和删除的一端称为栈顶(top),不允许插入和删除的一端称为栈底(bottom)虽然栈只有压栈(push)和出栈(pop)两个简单的操作,但我们可以实现更复杂的效果比如检查字符串中‘{[()]}’ 括号能否对上先讲一下思路:当匹配到 {,[,( 时入栈。匹配到),],}出栈比对代码实现import java.util.Scanner; import java.util.Stack; public原创 2021-03-24 13:38:26 · 90 阅读 · 2 评论