首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数据科学与人工智能

    算法常用推荐算法

    2 您应用那些推荐算法? 转自公众号:阿里技术

    1.3K20发布于 2018-07-30
  • 来自专栏全栈程序员必看

    游戏常用算法-洗牌算法

    洗牌算法是一个比较常见的面试题。 一副扑克54张牌,有54!种排列方式。最佳的洗牌算法,应该能够等概率地生成这54! 种结果中的一种 基于Unity的洗牌算法代码实现 GitHub链接 抽牌洗牌 原理 这是完全合乎现实洗牌逻辑的算法。 种结果中的一种 Knuth_Durstenfeld算法 Knuth 和Durstenfeld 在Fisher 等人的基础上对算法进行了改进。 这是一个原地打乱顺序的算法算法时间复杂度也从Fisher算法的 O ( n 2 )提升到了 O ( n )。 Inside_Out算法 C++ stl中random_shuffle使用的就是这种算法 原理 在[0, i]之间随机一个下标j,然后用位置j的元素替换掉位置i的数字 通过54次生成的随机数取1/1,1

    1.5K10编辑于 2022-09-06
  • 来自专栏柠檬先生

    JavaScript 常用算法

    1.排序算法 (1)冒泡排序,冒泡排序其实就是通过比较相邻位置的元素大小,如果左边比右边大,就交换位置,继续比较,实际上就是每轮比较都得出一个最大值,然后通过多伦比较得出。   

    1.1K90发布于 2018-01-22
  • 来自专栏大龄码农

    常用排序算法

    冒泡排序(Bubble Sort) 冒泡排序是一种极其简单的排序算法,也是我所学的第一个排序算法。 这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。   冒泡排序算法的运作如下: 比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。 由于它的简洁,冒泡排序通常被用来对于程序设计入门的学生介绍算法的概念。 尽管冒泡排序是最容易了解和实现的排序算法之一,但它对于少数元素之外的数列排序是很没有效率的。 选择排序(Selection Sort)   选择排序也是一种简单直观的排序算法。 插入排序在工业级库中也有着广泛的应用,在STL的sort算法和stdlib的qsort算法中,都将插入排序作为快速排序的补充,用于少量元素的排序(通常为8个或以下)。

    68420发布于 2020-04-09
  • 来自专栏01ZOO

    常用算法整理

    由于无法发送超过5万字文章,内容见附件 leetcode算法笔记.pdf 目录: 概念和理论 主定理 基础数据结构 栈 例子:转逆波兰式 例子:132 Pattern 例子:# Lexicographical Strings 欧拉回路 例子: Reconstruct Itinerary 例子: Cracking the Safe 强连通分支 最短路径问题 例子:Evaluate Division 例子:几种算法实现对比 shortest-palindrome 例子:# Repeated Substring Pattern 判断旋转词 贪心算法 Greedy Best Time to Buy and Sell Stock :求最大长度回文字串的线性算法 Next Permutation 几何经典算法 找fence: Monotone_Chain_Convex_Hull 图着色问题 例子:Is Graph Bipartite 随机洗牌算法 例子: # Random Flip Matrix 三色旗问题 二分图匹配-匈牙利算法 Brain Storm 例子:Transform to Chessboard 例子:Orderly

    1.4K161发布于 2019-08-11
  • 来自专栏用户5305560的专栏

    STL常用算法

    STL常用算法: (1)sort sort(v.begin(),v.end()); (2)unique auto end_unique = unique(begin(vec1), end(vec1))

    59830发布于 2021-08-11
  • 来自专栏PHP在线

    常用算法解析

    算法基础:概念,时间复杂度,空间复杂度,常见算法以及复杂度计算

    77360发布于 2018-04-17
  • 来自专栏c++与qt学习

    常用查找算法之find算法

    算法简介 ? 函数原型: ? #include<iostream> using namespace std; #include<vector> #include<algorithm> #include<string> //find算法

    59320发布于 2021-03-02
  • 来自专栏数据魔术师

    基础算法| 常用排序算法小结

    日常吹水 说到这个算法, 可能瞬间大家就觉得那些灰机昏膏素什么的比这个生动活泼多了。 那么,正走在算法之路上的你, 是否还在苦苦寻求修仙之路? 是否被各种排序算法欺负得苦不堪言? * 内容提要: *排序常用术语介绍 *冒泡排序 *选择排序 *插入排序 *希尔排序 *归并排序 *快速 排序 排序基础知识 ⚫排序的定义 将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序 ⚫时间复杂度:一个算法执行完所消耗的时间。 ⚫空间复杂度:执行一个算法需要消耗的内存空间大小。 ⚫常见算法的复杂度及稳定性 ? 好了看完上面一堆头(dan)疼的术语介绍, 接下来将为大家介绍几种常用的内部排序算法, 开始我们的表演。 1 冒泡排序(Bubble Sort) ⚫常规冒泡排序 冒泡排序算是比较好理解的了。 快速排序是不稳定的排序算法。 OK自此,常用的排序算法已经介绍完毕,今天的表演到此结束,谢谢大家。

    88450发布于 2018-04-19
  • 来自专栏爬蜥的学习之旅

    常用算法之贪心算法

    因而选用贪心算法必须保证当前选的最好的必定是整体最好的。 示例 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 }else{ break; } } return Math.max(tasks.length,(taskArr[25]-1)*(n+1)+m); } 复制代码 附录 贪心算法思路

    75820发布于 2019-07-09
  • 来自专栏技术圈

    常用的递归算法

    ,求第n个数的递归算法 //非递归形式 public static int fSNoRec(int i){ int j=1; int sum=0; while(j<=i){ sum

    71120发布于 2019-08-22
  • 来自专栏又见苍岚

    常用聚类算法

    聚类或聚类分析是无监督学习问题, 常被用于数据分析,本文记录聚类问题定义,以及常用聚类算法和实现。 聚类 聚类分析,即聚类,是一项无监督的机器学习任务。它包括自动发现数据中的自然分组。 与监督学习(类似预测建模)不同,聚类算法只解释输入数据,并在特征空间中找到自然组或群集。 聚类技术适用于没有要预测的类,而是将实例划分为自然组的情况。 有许多类型的聚类算法。许多算法在特征空间中的示例之间使用相似度或距离度量,以发现密集的观测区域。因此,在使用聚类算法之前,扩展数据通常是良好的实践。 scikit-learn 库提供了一套不同的聚类算法供选择,我们就以 skikit-learn 库的算法为例列举常用聚类算法与相应实践。 : group.plot(ax=ax, kind='scatter', x='x', y='y', label=key, color=colors[key])pyplot.show() 聚类算法

    47920编辑于 2023-06-14
  • 来自专栏FinGet前端之路

    JavaScript常用排序算法

    冒泡算法 原理:从第一个元素开始,往后比较,遇到自己小的元素就交换位置 ? 代码实现: // 冒泡算法 function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len; i++) {

    57240发布于 2019-06-28
  • 来自专栏bit哲学院

    Java实现常用算法

    参考链接: Java算法 Javacollections已经内置了一些常用算法,此处作为标记,方便温故而知新  1、二分查找  public class BinarySearch {     public

    50820发布于 2021-04-07
  • 来自专栏凯哥Java

    常用的淘汰算法

    总结:常用的淘汰算法有:FIFO、LRU、LFU FIFO 算法(Fist in first out:先进先出) FIFO 算法是一种比较容易实现的算法。 (2)缺点:这种算法有个很严重的缺点,就是会导致缺页率增加。缺页率指的是判断一个页面置换算法优劣的指标。 LRU算法(Least recently used:最近最少使用) LRU算法是一种常见的缓存算法,它的思想是:最近最少使用的会被优先淘汰。 在Redis 3.0以后增加了LRU淘汰池,进一步提高了与标准LRU算法效果的相似度。 LFU算法(Least frequently used:最不常使用) LFU算法的思想是:如果一个数据在最近一段时间很少被访问到,那么可以认为在将来它被访问的可能性也很小。

    1.4K20编辑于 2022-12-16
  • 来自专栏python3

    python常用程序算法

    过程:对相邻的两个元素进行比较,对不符合要求的数据进行交换,最后达到数据有序的过程。

    45930发布于 2020-01-16
  • 来自专栏常用算法专栏

    负载均衡常用算法

    负载均衡算法是服务器负载均衡功能的核心,它们决定了如何将业务流量或任务分配给不同的服务器。 以下是一些常见的负载均衡算法,这些算法可以根据服务器的实际负载情况动态地分配任务: 轮询(Round Robin)法: 轮询法将用户的请求按顺序轮流分配给服务器。 源IP hash算法: 源IP hash算法根据请求的源IP地址进行哈希计算,然后将请求分配给哈希结果对应的服务器。 这种算法可以确保来自同一IP地址的请求被分配到同一台服务器上,适用于需要保持会话一致性的场景。 加权源IP hash算法: 加权源IP hash算法是源IP hash算法的改进版。 以上算法各有优缺点,适用于不同的场景。在选择负载均衡算法时,需要根据实际的应用场景和需求来选择合适的算法

    29410编辑于 2025-04-05
  • 来自专栏Jacklin攻城狮

    简谈常用算法

    写在前面 算法,对于iOS开发者来说,既熟悉又陌生。首先,在iOS开发过程中,对算法要求不高,用到算法时候也是少之甚少,除非是一些接近底层开发需要用到一些算法。 但是,算法作为基础,又是开发者的必备技能,尤其是求职面试中一项重要考察指标。 遂,笔者在此整理一下常用算法,以供后用。 需要讲解的算法 冒泡排序算法 选择排序算法 快速排序算法 归并排序算法 翻转二叉树(递归实现) 冒泡排序算法 算法实现思想: 1、比较相邻的元素,若第一个比第二个大,就交换这两个元素的位置; 2、对每一对相邻元素做同样的工作 时间复杂度:min = O(n),max =O(n^2); 算法稳定性:不稳定;(不稳定的原因举例:5 5 3 变为 3 5 5,第一趟排序,第一个5会和3的位置互换,从而破坏该算法的稳定性) 算法实现 node.right = temp; return node; } @end 更改记录 2017.3.21 更改翻转二叉树(递归实现)标题名写错; 写到最后 以上内容,就是我对常用算法的简单总结

    68420发布于 2018-09-12
  • 来自专栏王也

    常用排序算法总结

    冒泡排 选择排序 插入排序 归并排序 堆排序 快速排序 排序算法的稳定性:如果Ai = Aj,排序前Ai在Aj之前,排序后Ai还在Aj之前,则称这种排序算法是稳定的。 ,也是我所学的第一个排序算法。 这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。     冒泡排序算法的运作如下: 比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。 希尔排序是不稳定的排序算法。    归并排序算法主要依赖归并(Merge)操作。

    53820编辑于 2022-10-26
  • 常用进程调度算法

    引言在现代操作系统中,进程调度算法起着至关重要的作用。它负责决定在某个特定时刻,哪个进程能够获得 CPU 资源并执行,合理的进程调度算法可以有效提高系统的资源利用率、响应速度以及整体性能。 本文将对几种常见的进程调度算法进行详细介绍。一、先来先服务调度算法(First-Come, First-Served,FCFS)1. 二、短作业优先调度算法(Shortest Job First,SJF)1. 基本原理SJF 算法以作业(进程)预计执行时间的长短为依据进行调度。 五、多级反馈队列调度算法(Multilevel Feedback Queue,MLFQ)1. 基本原理这是一种综合了多种调度算法特点的复杂调度算法。 总结综上所述,不同的进程调度算法各有其适用场景和优缺点,操作系统往往会根据自身的设计目标(如面向实时性、面向多用户分时等)以及硬件资源等因素综合考虑,选择合适的调度算法或者结合多种调度算法来提高系统的整体性能

    1.7K12编辑于 2024-11-26
领券