排序
复杂度分析:如何分析、统计算法的执行效率和资源消耗
作者:京东物流崔旭我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡...
厄拉多塞筛法的递归实现(Python)
厄拉多塞筛法由古希腊厄拉多塞提出的算法(又称埃氏筛法),可以筛选出给定整数\(N\)以内的质数。现给出一种利用递归实现厄拉多塞筛法的代码。代码实现importmathdefes(N):ifN复杂度分析设递归...
Palindrome Linked List
SourceGivenasinglylinkedlistofcharacters,writeafunctionthatreturnstrueifthegivenlistispalindrome,…
系统的混乱并非业务本身之复杂,我们并不擅长处理『简单』
前言一群高智商青年在餐厅吃饭,餐桌上一个瓶盖标识为盐的瓶子里装得是胡椒粉,而标识为胡椒粉的瓶子里装得却是盐,他们想出了一个充满才气的方案来完成对调--仅需要一张餐巾纸、一根吸管和两个...
「闲话随笔」势能分析法
「闲话随笔」势能分析法点击查看目录目录「闲话随笔」势能分析法简介分析例题二进制计数器单调栈Splay这闲话已经被催了两天了,累死我了。感谢joke3579帮我找到了Tarjan的论文。虽然没看懂只截...
如何用 30s 给面试官讲清楚跳表
查找假设有如下这样一个有序链表:想要查找24、43、59,按照顺序遍历,分别需要比较的次数为2、4、6目前查找的时间复杂度是O(N),如何提高查找效率?很容易想到二分查找,将查找的时间复杂度降...
发现了二分查找的秘密
二分查找(BinarySearch)算法,也叫折半查找算法。1.1、原理分析二分查找是一种非常简单易懂的快速查找算法,其思想在生活中随处可见,比如朋友聚会的时候爱玩的一个猜数游戏,我随机写一个0-100...
主定理
主定理:n为问题规模,a为递推的子问题数量,n/b为每个子问题的规模,f(n)为递推意以外进行的计算工作。a≥1,b>1为常数,f(n)为函数,T(n)为非负整数。则有以下结果(分类讨论):1)若则...
代码随想录算法训练营第六天|242、有效的字母异位词|349、两个数组的交集|202、快乐数|1、两数之和
(day5休息调整->day6)day6主要内容:哈希表哈希表是根据关键码的值而直接进行访问的数据结构。有数组、set(集合)、map(映射)三种数据结构哈希表用来快速判断一个元素是否出现在集合里。242...
代码随想录算法训练营第一天|704、二分查找|27、移除元素
704.二分查找·这是三个数的故事left,middle,right题目链接:https://leetcode.cn/problems/binary-search/前提:数组有序小->大数组无重复数使用语言:c++…
leet Code 977. Squares of a Sorted Array_network
[977.SquaresofaSortedArray][(https://leetcode.cn/problems/squares-of-a-sorted-array/)暴力解法对数组中每个元素平方后再排序代码如下:cl…
leetCode 27. Remove Element
[27.RemoveElement][(https://leetcode.cn/problems/remove-element/)思路数组在内存中是连续的,根据此题要求不能删除,而是覆盖暴力解法此题暴力解法是两层for循环,一…