Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
最常用的五大算法
一 贪心算法 贪心算法 又称贪婪算法 是指 在对问题求解时 总是做出在当前看来是最好的选择 也就是说 不从整体最优上加以考虑 他所做出的仅是在某种意义上的局部最优解 贪心算法不是对所有问题都能得到整体最优解 但对范围相当广泛的许多问题他能产
算法导论
分治法 ( Divide And Conquer ) 详解
文章目录 引言 分治法的范式 递归式 求解递归式的三种方法 代入法 递归树法 主方法 引言 在这篇 blog 中 我首先会介绍一下分治法的范式 接着给出它的递归式通式 最后我会介绍三种方法 代入法 递归树 和主方法 求解递归式 分治法的范式
算法和数据结构
算法导论
递归
分治算法
算法导论三-分治法
分治法 简单说 分治法即分而治之 即将问题分化为小问题来处理 简化起来看有二到三个步骤 分 将问题分解为若干子问题 复杂度n降低 治 递归解决子问题 合 合并子问题的解 常见分治法的递归式为 T n 2T n 2 n 即分为两个解法一样的子
算法
笔记
分治法
算法导论
【分治算法】-1.金块问题:递归和分治策略
例14 2 金块问题 有一个老板有一袋金块 每个月将有两名雇员会因其优异的表现分别被奖励一个金块 按规矩 排名第一的雇员将得到袋中最重的金块 排名第二的雇员将得到袋中最轻的金块 根据这种方式 除非有新的金块加入袋中 否则第一名雇员所得到的金
算法导论
算法
金条问题
红黑树(算法导论版)
1 定义 1 每个节点是红色或者黑色的 2 根节点是黑色的 3 所有叶子结点 NIL 都是黑色的 4 如果一个节点是红色 则它的两个子节点都是黑色的 5 对每个节点 从该节点到其所有后代叶节点的简单路径上 均包含相同数目的黑色节点 2 性质
树
算法导论
数据结构
红黑树
算法导论 练习 2.2
2 2 1 答案 n theta n 渐进符号的定义会在第三章里明确给出 所以这里就不写证明了 详细证明见第三章习题 好多好多啊 2 2 2 选择排序 数据结构课程基本排序算法之一 代码 SELECTION SORT A n length
算法导论
计数排序--时间复杂度为线性的排序算法
我们知道基于比较的排序算法的最好的情况的时间复杂度是O nlgn 然而存在一种神奇的排序算法 不是基于比较的 而是空间换时间 使得时间复杂度能够达到线性O n k 这种算法就是本文将要介绍的计数排序 一 适用情况 这个算法在n个输入元素中每
算法
计数排序
排序算法
复杂度分析
算法导论
算法导论之单源最短路径(Bellman-Ford和Dijkstra)
Bellman Ford 一 Bellman Ford算法的思想 Bellman Ford算法 以下简称BF算法 用于解决边的权重可以为负值的单源最短路径 它通过对边进行松弛操作逐渐降低从源结点s到各结点v的最短路径估计值v d 直到该估计
单源点最短路径
算法
图算法
算法导论
LeetCode刷题实战26:删除排序数组中的重复项
算法的重要性 我就不多说了吧 想去大厂 就必须要经过基础知识和业务逻辑面试 算法面试 所以 为了提高大家的算法能力 这个公众号后续每天带大家做一道算法题 题目就从LeetCode上面选 今天和大家聊的问题叫做 删除排序数组中的重复项 我们先
算法
链表
LeetCode
数据结构
算法导论
算法导论——分治法、归并排序——伪代码和Java实现
第二章第三节 分治法 我们首先先介绍分治法 分治法的思想 将原问题分解为几个规模较小但类似于原问题的子问题 递归地求解这些子问题 然后在合并这些子问题的解来解决原问题的解 还是拿扑克牌举例子 假设桌上有两堆牌面朝上的牌 牌面朝上 有值 每堆
第二章
算法导论
Java
分治法
算法
图的深度优先遍历和广度优先遍历
1 深度优先遍历 DFS 1 从某个顶点V出发 访问顶点并标记为已访问 2 访问V的其中一个邻接点 通常最左边的那个 如果没有访问过 访问该顶点并标记为已访问 然后再访问该顶点的邻接点 递归执行 先一直往后走 如果该顶点已访问过 退回上一个
算法导论
《算法导论》常见算法总结
前言 本篇文章总结中用到很多其他博客内容 本来想附上原作链接 但很久了未找到 这里关于原创性均来源于原作者 分治法 分治策略的思想 顾名思义 分治是将一个原始问题分解成多个子问题 而子问题的形式和原问题一样 只是规模更小而已 通过子问题的求
算法
算法导论
算法导论——插入排序——伪代码和Java实现
第二章第一节 插入排序 我们首先介绍插入排序 相信大部分人都打过扑克牌 许多人喜欢发一张牌就拿一张牌到手上 并且按顺序来放好牌 开始时我们左手为空 牌在桌子上 然后我们每次从桌子上拿走一张牌并将它插入左手中的位置 为了找到一张牌的正确位置
第二章
算法导论
Java
插入排序
算法
算法导论学习--红黑树详解之删除(含完整红黑树代码)
前面我们讨论了红黑树的插入的实现 基本思想是分类讨论 然后分情况讨论以后我们发现插入操作调整函数只需要处理三种情况 并不是太复杂 但是删除操作会更复杂一点 因为二叉搜索树的删除操作本身就分成了多种情况 这样在执行删除操作后要处理的情况会更多
算法导论学习
红黑树
算法导论
NlogN复杂度寻找数组中两个数字和等于给定值
算法导论 22页2 3 7 描述一个运行时间为O nlogn 的算法 找出n个元素的S数组中是否存在两个元素相加等于给定x值 AC解 a 1 3 6 7 9 15 29 def find2sumx nums x nums sort le r
算法
算法导论
『数据结构』B树(B-Tree)及其变体 B+树,B*树
原文地址 1 背景 当有大量数据储存在磁盘时 如数据库的查找 插入 删除等操作的实现 如果要读取或者写入 磁盘的寻道 旋转时间很长 远大于在 内存中的读取 写入时间 平时用的二叉排序树搜索元素的时间复杂度虽然是 O log2n O l o
数据结构
BTree
数据库
算法导论
写一个个人认为比较详细的adaboost算法
最近在看机器学习中adaboost adaptive boostint 算法部分的内容 在csdn上面查找一番发现 好像没有讲的特别的详尽的 当然可能是我人品不佳 所以没有找到 为了防止同样的事情发生在其他人的身上 所以就写了这篇博文 尽量
算法导论
adaboost boosting 人脸
LeetCode刷题实战214:最短回文串
算法的重要性 我就不多说了吧 想去大厂 就必须要经过基础知识和业务逻辑面试 算法面试 所以 为了提高大家的算法能力 这个公众号后续每天带大家做一道算法题 题目就从LeetCode上面选 今天和大家聊的问题叫做 最短回文串 我们先来看题面 h
字符串
算法
链表
LeetCode
算法导论
LeetCode刷题实战88:合并两个有序数组
算法的重要性 我就不多说了吧 想去大厂 就必须要经过基础知识和业务逻辑面试 算法面试 所以 为了提高大家的算法能力 这个公众号后续每天带大家做一道算法题 题目就从LeetCode上面选 今天和大家聊的问题叫做 合并两个有序数组 我们先来看题
算法
链表
哈希
LeetCode
算法导论
二分搜索树
经典写法 内心os 就是有点繁琐hh include
树
算法导论
c
算法
数据结构
1
2
»