
算法
文章平均质量分 74
雪人奥特曼Q
这个作者很懒,什么都没留下…
展开
-
数据结构和算法之美 —— 哈希算法
数据结构和算法之美 - 21哈希算法的定义:将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。常用哈希算法:比如 MD5、SHA 等哈希算法几点要求:从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法); 对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同; 散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小; 哈希算法的执行效率要尽量高效,针对较长的文本原创 2021-05-11 20:11:16 · 214 阅读 · 0 评论 -
数据结构与算法之美 —— 二分查找
对有序数据集合的查找算法:二分查找数据结构与算法之美 - 15原创 2021-05-10 14:13:56 · 731 阅读 · 0 评论 -
快速排序的优化
由于归并排序的空间复杂度问题,快速排序比较适合来实现排序函数,但是,我们也知道,快速排序在最坏情况下的时间复杂度是 O(n2),如何来解决这个“复杂度恶化”的问题呢?原创 2021-05-10 11:05:27 · 831 阅读 · 0 评论 -
Java默认的排序算法
Java基础-08 【08:11】Java默认的排序算法:需要区分:是 Arrays.sort() 还是 Collections.sort() (底层是调用 Arrays.sort()); 什么数据类型; 多大的数据集(太小的数据集,复杂排序是没必要的,Java 会直接进行二分插入排序)等。对于原始数据类型,目前使用的是所谓双轴快速排序(Dual-Pivot QuickSort),是一种改进的快速排序算法,早期版本是相对传统的快速排序。而对于对象数据类型,目前则是使用TimSort,思原创 2021-03-23 11:13:18 · 1453 阅读 · 0 评论 -
数据结构与算法之美 - 排序算法
数据结构与算法之美 - 11数据结构与算法之美 - 12原创 2021-03-22 15:13:01 · 506 阅读 · 0 评论 -
数据结构与算法之美笔记 - 动态规划
数据结构与算法之美 - 40原创 2021-03-18 20:33:30 · 119 阅读 · 0 评论 -
数据结构与算法之美笔记 - 递归
数据结构与算法之美 - 10目录一、递归二、使用递归需要满足的条件1. 一个问题的解可以分解为几个子问题的解2. 这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样3. 存在递归终止条件三、编写递归代码 【写出递推公式,找到终止条件】四、递归代码可能存在的问题1、警惕堆栈溢出2、警惕重复计算递归利弊:五、将递归代码改成非递归代码一、递归递归实现的常见算法:DFS 深度优先搜索、前中后序二叉树遍历等等二、使用递归需要满足的条件1. 一原创 2021-03-18 20:21:55 · 190 阅读 · 0 评论 -
数据结构与算法之美笔记 —— 栈
栈是一种“操作受限”的线性表,只允许在一端插入和删除数据,后进先出。数据结构与算法之美-08使用数组实现一个栈栈的应用:1、栈在函数调用中的应用2、栈在表达式求值中的应用3、栈在括号匹配中的应用4、浏览器的前进、后退功能...原创 2021-01-07 21:34:47 · 206 阅读 · 0 评论 -
数据结构与算法之美笔记 —— 链表
数据结构与算法之美-06一、链表和数组的区别数组需要一块连续的内存空间来存储,对内存的要求比较高。如果我们申请一个 100MB 大小的数组,当内存中没有连续的、足够大的存储空间时,即便内存的剩余总可用空间大于 100MB,仍然会申请失败。链表不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用,所以如果我们申请的是 100MB 大小的链表,根本不会有问题。与数组一样,链表也支持数据的查找、插入和删除操作链表的优点:插入或者删除一个数据,我们并不需要为了保持内存的连续性而原创 2021-01-06 21:13:15 · 148 阅读 · 0 评论 -
数据结构和算法之美笔记 —— 复杂度分析
一、时间复杂度大 O 时间复杂度实际上并不具体表示代码真正的执行时间,而是表示代码执行时间随数据规模增长的变化趋势,所以,也叫作渐进时间复杂度(asymptotic time complexity),简称时间复杂度。1、假设每行代码执行的时间都一样,为 unit_time(一个单位时间)第 2、3 行代码分别需要 1 个 unit_time 的执行时间 第 4、5 行都运行了 n 遍,所以需要 2n*unit_time 的执行时间,所以这段代码总的执行时间就是 (2n+2)*unit_time原创 2021-01-05 21:01:41 · 877 阅读 · 0 评论 -
常用的排序算法——基本思想,稳定性,时间复杂度
常用排序算法的空间复杂度,时间复杂度 和 排序算法的稳定性:原创 2020-07-16 23:59:18 · 400 阅读 · 0 评论 -
常用的加密算法介绍及其应用场景—MD5、SHA1、AES、DES、3DES、RSA、ECC
对称和非对称的加密算法原创 2020-06-18 15:36:26 · 8563 阅读 · 0 评论 -
Hash算法解决哈希冲突的四种方法
1、开放地址法2、原创 2020-05-28 00:23:35 · 614 阅读 · 0 评论