首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法数据结构
订阅
啊牛喔
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
几种常用的排序算法
我想很多程序员恐怕误解了「算法」的意义,一想到算法就是动态规划,机器学习之类的高大名词。算法其实就是数学中的「解题过程」,解题过程要求精确,考虑各种情况,需要人看得懂。算法不需要你在键盘上选择什么编程语言实现,只需要在本子上详细的写出每一个步骤就可以了。 我经常在社区里看到有人…
程序员必须掌握的数据结构 2
无论是任何程序员,不论是算法,还是其他,都需要掌握一定的数据结构。本文以最优雅的方式,基于Python,完成算法,不要问,背下来就好。代码量更少,更好背。 1. 括号匹配 括号匹配,判断字符串中括号是否匹配。当为左括号时入栈,为右括号时出栈,最后,判断栈是否为空,为空则括号匹配…
看动画轻松理解时间复杂度(一)
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,比如排序就有前面的十大经典排序和几种奇葩排序,虽然结果相同,但在过程中消耗的资源和时间却会有很大的区别,比如快速排序与猴子排序:)。 主要还是从算法所…
五分钟看懂一个高难度的排序:堆排序
堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。 堆排序(Heapsort)是指利用堆这种数据结构(后面的【图解数据结构】内容会讲解分析)所设计的一种排序算法。堆积是一个近似完全二…
【图解数据结构】 一组动画彻底理解二叉树三种遍历
二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次。 在二叉树的遍历中存在三种较为常用的遍历方式:前序遍历、中序遍历、后序遍历。接下来我将尝试着用三组动画向读者详细的介绍这三种遍历方式的逻辑思路,希望让读者看到任何的二叉树都…
漫画:什么是计数排序?
非常简单,让我们遍历这个无序的随机数列,每一个整数按照其值对号入座,对应数组下标的元素进行加1操作。 继续遍历数列并修改数组...... 数组每一个下标位置的值,代表了数列中对应整数出现的次数。 有了这个“统计结果”,排序就很简单了。直接遍历数组,输出数组元素的下标值,元素的值…
动画:什么是散列表?
散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。 散列函数,顾名思义,它…
常用算法之贪心算法
思路:求解问题时,总是选当前最好的选择,不从整体上考虑。因而选用贪心算法必须保证当前选的最好的必定是整体最好的。 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺…
一道有意思的面试算法题
新年第一篇文章,先祝大家新年快乐!!那么接下来进入正文。 前阵子突发奇想,突然开始刷leetcode。其中刷到了一道有意思的题目,发现这道题是当时秋招的时候,腾讯面试官曾经问过我的题目。于是分享给大家看下。 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两…
你真的会用二分查找吗?
嗯,其实最简单的二分查找写起来还是挺简单的,稍微注意下可能出错的地方即可。用循环还是递归都可以,我这里先写一个 找出第一个值等于key的元素,或者找出最后一个值等于key的元素,甚至还有找出第一个<= 或者>=的元素位。 这种二分查找写起来就比较麻烦而且很容易出bug了,有兴趣…