E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
算法总结
数据结构与算法-5大常用
算法总结
1.贪心算法基本思想:贪心算法分阶段工作,在每一阶段,可以认为所做的决定是好的,而不考虑将来的后果。意味着选择的是局部最优,如果刚好是全局最优则算法正确,否则得到的是一个次优解。所有可以应用于不需要得到最佳答案,用贪心算法生成近似答案。1.1简单的作业调度问题问题:给出n个任务和每个任务的开始和结束时间。找出可以完成的任务的最大数量,在同一时刻只能做一个任务。vectorfindCompleteW
微book
·
2020-09-16 01:45
c++
【C++】 --- STL常用
算法总结
1常用遍历算法for_each//遍历容器transform//搬运容器到另一个容器中1.1for_each**功能描述:***实现遍历容器**函数原型:**for_each(iteratorbeg,iteratorend,_func); //遍历算法遍历容器元素 //beg开始迭代器 //end结束迭代器 //_func函数或者函数对象#include#include//普通函数voidpri
Overboom
·
2020-09-16 01:10
C++
字符串匹配
算法总结
:KMP,BM,Sunday
目录文章目录目录KMP算法next数组kmp算法BM算法坏字符:好后缀:suffix表构造构造gs表BM的最终算法SundayKMP算法next数组例子:ababcaba00120123-10012012-10-102-10-1第一行:strings="ababcaba";int*k=newint[s.size()];k[0]=0;intp=0;inti=0;while(i0&&src[k+pos
一脸毛
·
2020-09-16 01:01
排序
算法总结
及Python实现
目录一、冒泡排序、选择排序和插入排序:O(n*n)1、冒泡排序2、选择排序3、插入排序二、归并排序和快速排序:O(nlogn)1、归并排序2、快速排序三、桶排序和基数排序:O(n)1、桶排序2、基数排序一、冒泡排序、选择排序和插入排序:O(n*n)1、冒泡排序1、冒泡排序原理冒泡排序对相邻的两个元素进行比较,看是否满足大小关系要求,如果不满足就让他俩交换,如下图所示。一次冒泡会让至少一个元素移动到
辰星M
·
2020-09-16 00:31
数据结构算法
冒泡排序
插入排序
归并排序
快速排序
线性排序
基础图论算法导引
ACM中常用图论算法1.拓扑排序->拓扑排序的原理及其实现2.最短路径算法->最短路
算法总结
差分约束系统->差分约束前k短路->前K短路径问题3.最小生成树问题扩展->最小生成树问题的拓展最优比率生成树
Kewowlo
·
2020-09-15 23:39
大佬的总结
大佬的面试
算法总结
https://blog.csdn.net/derrantcm/article/details/73456550大佬的源码分析总结https://javadoop.com/
han_chuang
·
2020-09-15 22:41
设计模式笔记
算法
java
面试
常见的排序
算法总结
1、冒泡排序从第一个元素开始,两两比较相邻元素,如果第一个元素比第二个元素大,则交换相邻元素,这样每经过一轮排序,就会有一个元素在最终位置上。优化:设置一个flag,当在一次遍历中没有元素交换位置,说明列表已经有序。时间复杂度:最坏:O(n^2),平均:O(n^2),最好:O(n)空间复杂度:O(1)稳定的排序算法defbubble_sort(l):foriinrange(len(l)-1):#l
王小白的博客
·
2020-09-15 20:38
7种常用排序
算法总结
比较一览排序法最优时间平均复杂度最差情形稳定度额外空间备注类型选择O(n2)O(n2)O(n2)不稳定O(1)n小时较好选择排序冒泡0-O(n)O(n2)O(n2)稳定O(1)n小时较好交换排序插入O(n)O(n2)O(n2)稳定O(1)大部分已排序时插入排序ShellO(n)依赖步长串行O(ns)1=end)return;inti=start;intj=end;intkey=a[start];w
鱿鱼x
·
2020-09-15 20:05
算法
排序
排序算法
快速排序
归并排序
JavaScript数组排序的六种常见
算法总结
前言着急用的话,选择前两个就行了,后面的看看就好。开发中,遇到数组排序的需求很频繁,这篇文章会介绍几个常见排序思路。一、希尔排序(性能最好)如果要从大到小排列,则while(arr[n]>arr[n-interval]&&n>0)。//希尔排序算法functionxier(arr){varinterval=parseInt(arr.length/2);//分组间隔设置while(interval>
·
2020-09-15 17:13
算法总结
之 用一个栈实现另一个栈的排序
算法总结
之用一个栈实现另一个栈的排序用一个栈实现另一个栈的排序一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序。只允许申请一个栈。
Art&Code
·
2020-09-15 16:51
算法总结
之 最长递增子序列
算法总结
之最长递增子序列给定一个数组arr,返回arr最长递增子序列要求如果长度为N请实现时间复杂度为O(NlogN)的方法动态规划解题思路:1生成长度为N的数组dp,dp[i]表示在以arr[i]这个数结尾的情况下
Art&Code
·
2020-09-15 16:45
回溯
算法总结
解题的步骤是:先画图,再编码。去思考可以剪枝的条件,为什么有的时候用used数组,有的时候设置搜索起点begin变量,理解状态变量设计的想法。本序列参考资料1.回溯算法入门级详解+练习2.回溯法总结3.回溯算法主要有排列、组合、子集相关问题,FloodFill,字符串中的回溯问题,游戏问题四大题型。题型一:排列、组合、子集相关问题题目一:全排列(46.全排列)代码如下:classSolution{
远腾飞
·
2020-09-15 12:49
leetCode
求最大公约数的算法1.递归 2.循环 (小
算法总结
)
/*最大公约数(递归算法),辗转相除法。*/intgcd(intx,inty){if(y==0)returnx;elsereturngcd(y,x%y);}/*辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除的余数的最大公约数那y和x%y如果余数为0,那y不就是最大公约数补充:两个数的最小公倍数等于x*y/gcb(x,y);*/最大公约数的循环写法://原理也是一样的int
王格格
·
2020-09-15 11:06
小算法总结
排序
算法总结
1冒泡排序:voidBubbleeSort(int*p,intlen,SORT_TYPEtype=SORT_ASC){//冒泡方式二:当某一次遍历没有发生任务数据交互时,说明已经排序好了boolflag=true;intk=len;while(flag){flag=false;for(intj=0;jp[j+1]){swap(p+j,p+j+1);flag=true;}}}2、快速排序:voidQ
李朝淋
·
2020-09-15 08:55
内存管理
算法
快速排序
选择排序
冒泡排序
排序
算法总结
之插入排序
一,插入排序介绍插入排序是基于比较的排序。所谓的基于比较,就是通过比较数组中的元素,看谁大谁小,根据结果来调整元素的位置。因此,对于这类排序,就有两种基本的操作:①比较操作;②交换操作其中,对于交换操作,可以优化成移动操作,即不直接进行两个元素的交换,还是用一个枢轴元素(tmp)将当前元素先保存起来,然后执行移动操作,待确定了最终位置后,再将当前元素放入合适的位置。(下面的插入排序就用到了这个技巧
weixin_34194317
·
2020-09-15 03:30
算法总结
之求解模线性方程组
算法总结
之求解模线性方程组1)求解模线性方程ax=b(modn)方程ax=b(modn)->ax=b+ny->ax-ny=b->ax+n(-y)=b其中a,n,b已知。
weixin_30627341
·
2020-09-15 03:10
堆排序
算法总结
算法原理先上一张堆排序动画演示图片:图片来自维基百科1.不得不说说二叉树要了解堆首先得了解一下二叉树,在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(leftsubtree)和“右子树”(rightsubtree)。二叉树常被用于实现二叉查找树和二叉堆。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至
_三两天
·
2020-09-15 00:57
算法
排序
算法总结
文章转自http://blog.csdn.net/xiazdong本文是http://blog.csdn.net/xiazdong/article/details/7304239的补充,当年看了《大话数据结构》总结的,但是现在看了《算法导论》,发现以前对排序的理解还不深入,所以打算对各个排序的思想再整理一遍。本文首先介绍了基于比较模型的排序算法,即最坏复杂度都在Ω(nlgn)的排序算法,接着介绍了
_三两天
·
2020-09-15 00:57
算法
排序算法
数据结构和算法面试题系列—递归
算法总结
这个系列是我多年前找工作时对数据结构和
算法总结
,其中有基础部分,也有各大公司的经典的面试题,最早发布在CSDN。现整理为一个系列给需要的朋友参考,如有错误,欢迎指正。本系列完整代码地址在这里。
weixin_34112030
·
2020-09-14 21:26
数据结构与
算法总结
数据结果与算法(JAVA版)—重点总概第一章绪论1.1基本概念:数据存储结构分为:顺序结构、链接结构、散列结构和索引结构。数据:利用文字符号、数字符号以及其他规定的符号对现实世界实物及其活动所做的抽象描述。数据元素:一个数据整体中可以标识和访问的数据单元。数据记录:数据处理领域组织数据的基本单位,数据中的每个数据元素在许多应用场合被组织成记录的结构。数据项、关键项,关键字。数据结构:数据及其相互间
softbook
·
2020-09-14 18:55
数据结构与算法
数据结构
算法
数据存储
结构
提升树(Boosting tree)
算法总结
提升树(Boostingtree)
算法总结
发表于2018-05-20|分类于机器学习|浏览K本文是综合了之前的以往多个笔记汇总而成,内容包含:一、Boosting基本概念二、前向分步加法模型1.加法模型
小武博客
·
2020-09-14 14:30
算法设计之常见排序
算法总结
蛮力法蛮力法是一种简单直接地解决问题的方法,常常直接基于问题的描述和所涉及的概念定义。蛮力法运用广泛,它几乎可以解决所有的问题。选择排序在选择排序开始时,扫描整个数组,找出最小的元素,将其与第一个元素交换;然后从第二个元素开始扫描,找出剩下的n-1个元素的最小值,与第二个元素交换,以此重复操作,直到整个数组都被扫描完。对于任意规模的输入,选择排序都是一个(n^2)的算法。键的交换次数仅为θ(n),
一只萝卜干
·
2020-09-14 10:09
排序算法
xgboost和lightgbm
算法总结
(从决策树到xgboost)
目录一、背景知识合集1、决策树1.1ID3.01.1.1思想1.1.2划分标准1.1.3优缺点1.2C4.51.2.1思想1.2.2划分标准1.2.3优缺点1.3CART1.3.1思想1.3.2划分标准1.3.3优缺点1.4其他和总结2、模型的方差和偏差3、目标函数、损失函数(成本函数)和正则项3.1损失函数3.2正则项4、集成模型4.1集成学习模型框架4.2bagging和boosting框架4
abc200941410128
·
2020-09-14 08:23
模型算法
排序算法(九)——八大排序
算法总结
八大排序算法的稳定性及复杂度总结如下:选择排序算法准则每种排序算法都各有优缺点。因此,在实用时需根据不同情况适当选用,甚至可以将多种方法结合起来使用。影响排序的因素有很多,平均时间复杂度低的算法并不一定就是最优的。相反,有时平均时间复杂度高的算法可能更适合某些特殊情况。同时,选择算法时还得考虑它的可读性,以利于软件的维护。一般而言,需要考虑的因素有以下四点:1.待排序的记录数目n的大小;2.记录本
weixin_30328063
·
2020-09-14 01:53
数据结构与算法
KNN(最近邻)
算法总结
KNN(最近邻)算法参考:本文参考选取的案例来自以下:https://blog.csdn.net/qq_41228463/article/details/84341762李奇峰https://blog.csdn.net/mrliqifeng/article/details/82592867一、定义及原理knn算法是通过计算两个个体之间的距离及相似性来进行分类,几乎适合于任何数据集,同时其计算量会很
fangwancheng
·
2020-09-14 00:09
机器学习
算法总结
:判断一个数是否为素数
1.约定x%y为x取模y,即x除以y所得的余数,当x1){//一直计算,直到指数小于或等于1if((p%2)!=0){//如果指数p是奇数,则说明计算后会剩一个多余的数,那么在这里把它乘到结果中odd*=main;//把“剩下的”乘起来}main*=main;//主体乘方p/=2;//指数除以2}returnmain*odd;//最后把主体和“剩下的”乘起来作为结果}够完美了吗?不,还不够!看出来
WanfungCheung
·
2020-09-13 21:15
Algorithm
&
Data
Structure
排序
算法总结
分析(三)——吃货排序之烙饼排序
目录排序
算法总结
分析(一)——开篇排序
算法总结
分析(二)——常见八大排序算法排序
算法总结
分析(三)——吃货排序之烙饼排序今天先来个好玩点的,呃,确切说是好吃的点的问题。哈哈,就是如标题表明的烙饼排序。
Sin_Geek
·
2020-09-13 19:44
整理一下不错的编程学习博客
整理一下不错的编程学习博客程序员必须掌握哪些算法经典排序
算法总结
Java线程池介绍值得学习的Java练手项目数据可视化设计Java练手项目Java练手项目Java练手项目前端练手基础项目前端练手项目前端学习路线前端学习路线进阶版
罗永斌89
·
2020-09-13 19:39
整理
常见的排序
算法总结
平时一直做项目,业务逻辑,对算法这块逐渐有了生疏今天有空总结一下排序算法1)冒泡排序冒泡排序的原理就是两两相比,从小到大的话前面比后面大就交换,从大到大的话前面比后面小就交换,比如有一组数[1,10,5,3,2]如何对它做排序(比如从小到大)第一步:[1,10,5,3,2]源数据[1,10,5,3,2]//15交换[1,5,3,10,2]//10>3交换[1,5,3,2,10]//10>2交换这样
淡燚
·
2020-09-13 18:04
算法
十种排序
算法总结
(代码及说明)
1.冒泡排序基本思想是:两两比较相邻记录的关键字,如果反序则交换冒泡排序时间复杂度最好的情况为O(n),最坏的情况是O(n^2)改进思路1:设置标志位,明显如果有一趟没有发生交换(flag=false),说明排序已经完成改进思路2:记录一轮下来标记的最后位置,下次从头部遍历到这个位置就Ok.原冒泡排序代码如下:voidswap(intleft,intright){left=left^right;r
梦想的天空格外蓝
·
2020-09-13 18:14
C语言系列
十种基本排序(总结)
排序
算法总结
:1.冒泡排序:最经典的排序算法,因为算法太过基础就不再介绍;附一个冒泡排序的优化算法:#include#includevoidbubble(intarr[],intlen)//第一种{if
四年rain
·
2020-09-13 18:29
数据结构
蓝桥杯比赛
算法总结
title:蓝桥杯比赛
算法总结
date:2015-06-1822:35:24categories:programmingtags:[算法]今天突然想把我自己在蓝桥杯比赛时准备的一些算法记录下来,以便翻阅
小学生辉辉辉
·
2020-09-13 17:42
11篇旧文章
遗传算法解flowshop问题
遗传算法解决flowshop问题1.遗传算法简介参考:https://blog.csdn.net/u010451580/article/details/51178225百度百科:遗传
算法总结
遗传算法过程
Silvester123
·
2020-09-13 15:15
最优化
高斯混合模型(GMM)与EM
算法总结
对EM算法的感性认识,写的很好:https://www.jianshu.com/p/1121509ac1dcEM算法详细的推导:https://www.cnblogs.com/USTC-ZCC/p/10845506.htmlGMM的详细推导:https://blog.csdn.net/jinping_shi/article/details/59613054
gqqad123
·
2020-09-13 14:25
机器学习
面试题精选(排序算法类)c/c++版 上篇
1-1排序算法专题0常见排序
算法总结
基础排序算法:冒泡排序、选择排序、插入排序、归并排序、希尔排序、快速排序、堆排序建议看不懂原理说明或图示时请看代码。
胡先生的Linux
·
2020-09-13 14:56
Linux服务器开发
Linux后台开发
面试题
排序算法
数据结构
面试
c++
linux
深度学习常用优化
算法总结
整理
深度学习优化
算法总结
:http://blog.csdn.net/u010089444/article/details/76725843https://www.jiqizhixin.com/articles
数据-简单
·
2020-09-13 12:14
深度学习
排序
算法总结
_python实现
1冒泡排序时间复杂度:O(n^2)空间复杂度:O(1)稳定性:不稳定排序法lt=[2,4,3,7,9,6,1]defdubble_sort(lt):print(f"输入数组:{lt}")foriinrange(len(lt)-1):flag=0forjinrange(len(lt)-1-i):iflt[j]>lt[j+1]:lt[j],lt[j+1]=lt[j+1],lt[j]flag+=1iff
曹小何
·
2020-09-13 11:50
Python算法
算法
python
数据结构
快速排序
查找
算法总结
_python实现
1.顺序查找说明:顺序查找适合于存储结构为顺序存储或链接存储的线性表。基本思想:顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。复杂度分析:查找成功时的平均查找长度为:(假设每个数据元素的概率相等)ASL=1/n(1+2+3+…+n)=(n+1)/2
曹小何
·
2020-09-13 11:19
Python算法
2021年秋招面试
算法总结
面试常考算法前言每一道算法题,AC之后要会分析这道题的时间复杂度和空间复杂度,面试经常会被问到。一道算法题只刷一遍肯定是不够的,做过的算法题刷3遍左右。hard难度的题有时间可以刷,没时间不要勉强,因为投入产出比非常低,有这个时间把做过的题再温习一遍效果更好。现在LeetCode的题量太大,盲目刷效率很低,我尽可能把面试常考的题罗列一下,先保证这些题掌握好,其他题你们自己根据实际情况去扩展。有些题
rain_Man2018
·
2020-09-13 11:17
秋招知识点总结
面试算法
leetcode
剑指offer
java
算法总结
-格式化输出浮点数篇一(利用printf)
1.格式化输出浮点数代码:publicclass格式化输出浮点数{publicstaticvoidmain(String[]args){doubles=0.123456789;System.out.printf("%6.3f",s);//或//System.out.print(String.format("%6.3f",s));}}解释:%6.3f:6:总长度,3表示小数位,f:单精度总长度=小数
屿汐学长
·
2020-09-13 08:39
java算法总结
leetcode416——分割等和子集——java实现
(更多背包问题,请看这里:传送门:经典
算法总结
——背包问题(java实现)【已完结】)这里要注意,当sum为奇数的时候,就直接不用做了,因为sum/2是一个小数。
烛承幻
·
2020-09-13 06:41
leecode
链表相关
算法总结
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。因为在编写程序时,经常用来评估代码能力--包括代码规范性、完整性、鲁棒性。本文按照论文按照题目进行距离总结,题目列表如下:1、环形链表插值问题2、当前访问节点删除问题3、链表中荷兰国旗问题4、**单链表的k区间逆序问题5、复杂结构链表的复制6、单链表判断是否有环7、无环单链表判断相交8、有环单链表
victor_lwx
·
2020-09-13 05:30
数据结构
算法
Java 常用排序
算法总结
冒泡排序:/*冒泡算法*/publicclassBubbleSort{publicstaticvoidbubble_sort(int[]arr){inttemp;for(inti=0;ii;j--){if(arr[j]0;j--){if(arr[j]0;j--){for(inti=0;i+j=l)return;inti=f;intj=l;intkey=arr[f];//选择第一个数为keywhil
kimiszc
·
2020-09-13 05:37
Java
算法
哈希(散列,Hash)
算法总结
-java版
目录哈希算法简介哈希算法的分类加法Hash位运算Hash乘法Hash除法Hash查表Hash混合Hash常用的哈希算法直接寻址法数字分析法平方取中法折叠法随机数法除留余数法流行的哈希算法MD4MD5SHA及其他碰撞性哈希算法在java中的使用ObjectIntegerLongStringHashMap哈希算法简介Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预
xushiyu1996818
·
2020-09-13 04:20
数据结构-哈希表
数据结构
算法
java开发中常用的加密
算法总结
翻阅许多大神的博客,加上自己的总结,大体上了解了这几个加密算法的用途。常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。开发中常用的加密算法有MD5、AES、Base64、RSA等算法。(1)MD5即Message-DigestAlgorithm5(信息-摘要算法5),用于确保信息传输完整一致。应用场景:一致性验证数字签名:安全访问认证:web开发中一般对密码都进MD5加密存
4379丶coder
·
2020-09-13 03:09
java基础
排序算法(Java实现)
排序
算法总结
排序所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。是《数据结构与算法》中最基本的算法之一。
WEI_69
·
2020-09-13 02:35
数据结构
Java
【常用
算法总结
——中国剩余定理】
中国剩余定理,又称孙子定理(什么名字啊)是中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。首先来一个小!例!题!吧!注释:三数为abc,余数分别为m1m2m3,%为求今年余计算,&&是“且”运算。1、分别找出能被两个数整除,而满足被第三个整除余一的最小的数。k1%b==k1%c==0&&k1%a==1;k2%a==k2%c==0&&k2%b==1;k3%a==k3%b==0&&k3
华恋~韵
·
2020-09-13 00:00
数据结构的七大主流排序
算法总结
之一:冒泡算法
介绍:冒泡排序的原理非常简单,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。步骤:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对第0个到第n-1个数据做同样的工作。这时,最大的数就“浮”到了数组最后的位置上。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。publicvoidbetter
SmartBrain
·
2020-09-13 00:18
经典算法解析
【算法学习】 常见排序
算法总结
(java)
【算法学习】冒泡法排序【算法学习】选择排序算法【算法学习】插入排序算法【算法学习】希尔排序算法【算法学习】快速排序算法【算法学习】归并排序算法【算法学习】基数排序算法【算法学习】堆排序算法稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中
编程芝士
·
2020-09-13 00:22
算法
数据结构与算法
排序
算法总结
索引1时间复杂度2排序2.1稳定性2.2内排序与外排序2.3七种常见比较排序算法2.3.1冒泡排序【交换】2.3.2简单选择排序2.3.3直接插入排序2.3.4希尔排序【插入】2.3.5堆排序【选择】2.3.5.1二叉树2.3.6归并排序【归并】2.3.7快速排序【交换】2.4三种常见非比较排序算法2.4.2桶排序2.4.2计数排序【桶】2.4.3基数排序补充:动态规划与分治法的本质区别①分治法将
tututu333
·
2020-09-12 23:58
算法设计
软件设计师复习
排序算法
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他