数据结构(排序,查询)
------
踟蹰千年
希望能一直有码编的码农一枚
展开
-
数据结构与算法之美学习笔记(15章,17章) 二分查找,跳表
二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。我们假设数据大小是 n,每次查找后数据都会缩小为原来的一半,也就是会除以 2。最坏情况下,直到查找区间被缩小为空,才停止。可以看出来,这是一个等比数列。其中 n/2k=1 时,k 的值就是总共缩小的次数。而每一次缩小操...原创 2020-02-28 21:57:29 · 371 阅读 · 0 评论 -
数据结构与算法之美学习笔记(11章) 排序,冒泡,插入,选择,归并,快排
第十一章最常用的:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。原创 2020-02-26 22:25:21 · 304 阅读 · 0 评论 -
数据结构与算法之美学习笔记(10章) 递归
第10章 递归递归很重要,这篇全部是递归的知识和练习一个很好的例子帮助理解周末你带着女朋友去电影院看电影,女朋友问你,咱们现在坐在第几排啊?电影院里面太黑了,看不清,没法数,现在你怎么办?别忘了你是程序员,这个可难不倒你,递归就开始排上用场了。于是你就问前面一排的人他是第几排,你想只要在他的数字上加一,就知道自己在哪一排了。但是,前面的人也看不清啊,所以他也问他前面的人。就这样一排...原创 2020-02-26 20:15:05 · 396 阅读 · 0 评论 -
数据结构与算法之美学习笔记(5~9章)
第五章 数组:为什么很多编程语言中数组都从0开始编号?1.数组的定义数组是一种线性表数据结构,他用一组连续的内存空间,来存储相同类型的数据2.数组为什么可以根据下标随机访问数组元素(这里要注意不根据下标是不能随机访问的啊)假设一个长度为10的int型数组,会分配一块连续内存空间 1000~1039,其中,内存块首地址是1000我们可以通过以下公式快速获取到指定下标的元素...原创 2020-02-25 22:18:37 · 236 阅读 · 0 评论 -
数据结构与算法之美学习笔记(1~4章)
第一章.为什么要学习数据结构和算法第二章.数据结构和算法的定义,学习的方法1.数据结构和算法的概念广义:数据结构指的是一组数据的存储结构,算法指的是操作数据的一组方法.例如:图书馆里一般会将书分类放,然后有相应的编号规则.这就是数据结构,我们具体来查找这本书的方法就是算法,比如我们可以从头到尾一本一本的找也可以按照分类,编号去找.狭义:数据结构就是指的一些著...原创 2020-02-24 21:41:59 · 505 阅读 · 1 评论 -
时间复杂度的实际例子(钥匙管理员)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/lkp1603645756/article/details/85013126时空复杂度(时间复杂度/空间复杂度)O(1)、O(n)、O(n^2)、O(log n)、O(n log n)是什么意思这些都是算法时空复杂度的表示。不...转载 2019-11-04 14:35:47 · 260 阅读 · 0 评论 -
B-tree 和 B+tree过程
最近在看mysql的索引实现原理,B+TREE,看了不少博客,却发现很多都是文字上的概念,比如说一些相应的规则啥的 不是很直观推荐一个网站算法图解可以看到整个算法插入删除 查找的过程下面以动画的形式展示B-TREE整个过程假设最大度为3插入1插入2插入3插入4插入5插入6插入7这就是他的整个插入流程接下来模拟查询11...原创 2019-06-06 15:11:51 · 517 阅读 · 0 评论 -
Java 8系列之重新认识HashMap
转自知乎美团技术团队摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口java.u...转载 2019-03-11 12:33:24 · 151 阅读 · 0 评论 -
哈希HashMap原理分析
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录 一、什么是哈希表 二、H...转载 2019-01-18 09:52:47 · 172 阅读 · 0 评论 -
数据结构-Hash表基础
1.哈希表的定义 这里先说一下哈希(hash)表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方,说起来可能感觉有点复杂,我想我举个例子你就会明白了,最典型的的例子就是字典,大家估计小学的时候也用过不少新华字典吧,如果我想要获取“按”字详细信息,我肯定会去根据拼音an去查找 拼音索引(当然也可以是偏旁索引),我们首先去查an在字典的位置,查...原创 2019-01-18 08:36:31 · 165 阅读 · 0 评论 -
排序算法
八种排序一、冒泡排序基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。实现:public class BubbleSort { //依次比较两个数,如果前一个比后一个大则交换 public static void b...原创 2018-09-17 13:41:45 · 126 阅读 · 0 评论