
算法&&数据结构
太阳骑士索拉尔
天青色等烟雨
展开
-
《数据结构与算法之美》21~25笔记
文章目录关于我的仓库前言21讲哈希算法(上):如何防止数据库中的用户信息被脱库哈希算法MD5初识哈希算法七应用【前四】应用一:安全加密应用二:唯一标识应用三:数据校验应用四:散列函数解答开篇:守护最好的用户数据库课后题:现在,区块链是一个很火的领域,它被很多人神秘化,不过其底层的实现原理并不复杂。其中,哈希算法就是它的一个非常重要的理论基础。你能讲一讲区块链使用的是哪种哈希算法吗?是为了解决什么问...原创 2019-10-31 00:35:45 · 829 阅读 · 0 评论 -
《数据结构与算法之美》16~20笔记
文章目录关于我的仓库前言16讲二分查找(下):如何快速定位IP对应的省份地址变体一:查找第一个值等于给定值的元素变体二:查找最后一个值等于给定值的元素变体三:查找第一个大于等于给定值的元素变体四:查找最后一个小于等于给定值的元素开篇题目:如何快速定位出一个IP地址的归属地?课后题:LeetCode 33 搜索旋转有序数组17讲跳表:为什么Redis一定要用跳表来实现有序集合理解跳表跳表的优越性跳表...原创 2019-10-15 16:28:45 · 578 阅读 · 0 评论 -
浅谈dfs深度优先搜索(基于啊哈算法)
//// main.c// 啊哈 DFS//// Created by 姜凯文 on 2018/6/4.// Copyright © 2018年 姜凯文. All rights reserved.//#include <stdio.h>int a[10], book[10], n;//此处特别说明下:C语言的全局变量在没有赋值前默认为0,因此这里的book数组...原创 2018-06-04 19:09:57 · 875 阅读 · 4 评论 -
哈希表(散列表)原理详解
什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。记录的存储位置=f(关键字)这里的对应关系f称为散列函数,又称为哈希(Hash函数),采用散列技术将记录存储在一块连续的存储空间中,这块连续存储空间...转载 2018-06-26 18:48:55 · 180 阅读 · 0 评论 -
《数据结构与算法之美》01~05笔记
文章目录关于我的仓库前言01讲为什么要学习数据结构和算法课后题:你为什么要学习数据结构和算法呢?在过去的软件开发中,数据结构和算法在哪些地方帮到了你?02讲如何抓住重点,系统高效地学习数据结构与算法课后题:请思考一下你自己学习这个专栏的方法,你在之前学习数据结构和算法的过程中,遇到过什么样的困难或者疑惑吗?03讲复杂度分析(上):如何分析、统计算法的执行效率和资源消耗**O(1)****O(log...原创 2019-08-10 16:51:20 · 612 阅读 · 1 评论 -
《数据结构与算法之美》06~10笔记
文章目录关于我的仓库前言06讲链表(上):如何实现LRU缓存淘汰算法实现LRU缓存淘汰算法课后题:如何判断一个字符串是否是回文字符串的问题,我想你应该听过,我们今天的思题目就是基于这个问题的改造版本。如果字符串是通过单链表来存储的,那该如何来判断是一个回文串呢?你有什么好的解决思路呢?相应的时间空间复杂度又是多少呢?【LeetCode 234 回文链表】07讲链表(下):如何轻松写出正确的链表代码...原创 2019-09-23 20:03:38 · 606 阅读 · 0 评论 -
《数据结构与算法之美》11~15笔记
文章目录关于我的仓库前言11讲排序(上):为什么插入排序比冒泡排序更受欢迎如何比较排序算法冒泡排序(Bubble Sort)原理代码特点分析插入排序(Insertion Sort)原理代码特点分析选择排序(Selection Sort)原理代码特点分析希尔排序(Shell Sort)原理代码特点分析总结课后题:我们今天讲的几种排序算法,都是基于数组实现的。如果数据存储在链表中,这三种排序算法还能工...原创 2019-10-11 14:45:05 · 570 阅读 · 0 评论