首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
deng2014web
更多收藏集
微信扫码分享
微信
新浪微博
QQ
23篇文章 · 0订阅
算法(二)初等排序前篇[插入和希尔排序]
相关文章算法(一)时间复杂度 前言 排序是算法的基础,排序有很多种方法,有些方法实现起来很简单,但是效率较差,我们可以将这些排序的方法称之为初等排序。这篇文章我们就来学习初等排序中的插入排序和冒泡排序。 1.插入排序 插入排序比较容易想到,思路与打扑克时排列牌的顺序是类似的。比…
经典的 Top K 问题,你真的懂了么?
一. 立刻就能想到的解法 既然是要前 K 大的数,那么最直接的当然就是排序了,通过如快排等效率较高的排序算法,可以在平均 O(nlogn)的时间复杂度找到结果。 这种方式在数据量不大的时候简单可行,但固然不是最优的方法。 二. O(n) 时间复杂度的方法 该方法的时间复杂度是 …
算法之美 : 位运算
上一小节我们用三道题了解一下面试过程中栈和队列的常见面试题。本小节笔者将通过几个 位运算 的题目来带大家熟悉下常用的位运算知识。 相比于栈和队列来讲,笔者自身认为位运算需要掌握的知识就要多一些,包括对于数字的二进制表示,二进制的反码,补码。以及二进制的常见运算都需要了解。当然如…
快速排序及优化
快速排序是C.R.A.Hoare提出的一种交换排序。它采用分治的策略,所以也称其为分治排序。 实现快速排序算法的关键在于,先在数组中选一个数作为基数,接着以基数为中心将数组中的数字分为两部分,比基数小的放在数组的左边,比基数大的放到数组的右边。接下来我们可以用递归的思想分别对基…
JS 家的排序算法
排序算法的 JavaScript 描述
动态规划
动态规划一般也只能应用于有最优子结构的问题。适合采用动态规划方法的最优化问题的俩个要素:最优子结构性质,和子问题重叠性质。
堆排序以及最大优先队列
堆排序以及最大优先队列的介绍,以及 Java 实现。
【算法题】最大连续子序和
一道 LeetCode 的动态规划题的分析。 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 在分析如何使用动态规划求解该问题前,我们先简单了解下什…
您需要的前端面试算法(上)
阅前说明1、数组遍历2、字符串替换3、链表逆序打印4、重建二叉树5、栈与队列的互相实现6、旋转数组的最小数字7、斐波那契数列8、位运算9、数值的整数次方10、删除链表节点11、调整数组顺序12、链表中
JavaScript从反转数组到链表反转
众所周知,JavaScript的数组提供了很多有用的操作数组的方法,其中Array.prototype.reverse方法就可以将数组里面的数字反转。用reverse这个函数反转数组很简单,这里看下代码如何操作: 这样的代码很简单,但是我们依旧不知道是怎么反转的。下面来看下一种…