首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
chn_of_CHN
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
算法小专栏:“D&C思想”与“快速排序”
前一篇介绍了递归与尾递归,本篇将基于递归介绍快速排序等相关内容。 分而治之思想:简称D&C,一种递归式解决问题方案。 快速排序:利用D&C思想,实现的一种高效排序方法。 某一种解决问题的算法用处有限,而D&C为我们提供的是一种思路。 场景:假设你是…
算法小专栏:递归与尾递归
本篇将介绍递归与尾递归的相关内容。 递归是一种优雅的解决问题的方法。 递归,简单来说,就是在运行的过程中调用自己。 递归能帮我们处理一些复杂的算法问题,但绝不能滥用递归。 在程序设计角度,循环的性能要好于递归。 从开发角度,使用递归,逻辑上更容易被理解。 所以,要分场合使用递归…
算法小专栏:选择排序
本篇将重点介绍选择排序,在讲解选择排序之前,我们先复习一下数组和链表等知识。 数组和链表作为常用的存储数据结构,有各自的优势与劣势。 数组的优势在于查询速度快。 链表的优势在于插入与删除速度快。 这与数组与链表的存储方式有关。 数组是顺序存储,而链表是链式存储。 顺序存储:所存…
算法:二分查找
前言:最近小编在看《算法图解》,将会总结一系列算法相关的文章。 第一步:描述算法,并提供“图解”及示例Demo。 第二步:用大O表示法讨论运行时间。 第三步:分析该算法能解决的实际问题。 本篇将介绍二分查找与大O表示法,并为后续的算法文章打下算法基础。 一:提高代码的运行速度,…
递归实现原则
程序调用自身的编程技巧称为递归。(源于知识丰厚的度娘) 当一个函数用它自己来定义时就称为是递归。(源于数据结构与算法分析书籍) 第一种说法比较直接的描述了递归在程序的实现,具体实现见下面实现原则暂不赘述,而第二种说法偏向于算法,利用数学知识更方便理解,如函数F(X)=2F(X-…
算法小专栏:散列表(二)
接上篇散列表(一),本篇将重点介绍:解决散列冲突的四种方案。 例如,在长度为11的哈希表中,已填入关键字 17,29,60的记录,哈希函数为:H(key) = key % 11。 H(17) = 17 % 11 = 6。故将**关键字“17”存在下标为6的位置,位置空着,所以存…
算法小专栏:散列表(一)
本篇将介绍散列表(哈希表)的相关基础知识。 散列表(Hash table,也叫哈希表)是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。 这个映射函数叫做散列函数,存放记录的数组叫做散列表。(…
算法小专栏:谈谈大O表示法
前一篇介绍了快速排序,本篇将重点介绍“大O表示法”。 时间复杂度的概念。 空间复杂度的概念。 大O表示法。 一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面来衡量。所对应的两个指标分别是“时间复杂度”与“空间复杂度”。 故在正式介绍大O表示法之前,我们先来看看算…