序 这一篇文章是算法专栏第一篇文章。算法这个栏目会连载常用的算法(代码为Java),欢迎大家给我留言讨论。 1.什么是算法 1.1 算法定义 通俗的讲,算法是对问题求解过程的一种描述,是为解决一类问题给出一个确定的,有限的操作序列。曾经获得图灵奖的著名计算机科学家 D.Knuth 对算法做过一个为学
原创
2022-01-06 16:22:15
146阅读
在看下面这篇文章之前,先介绍几个理论知识,有助于理解A*算法。启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无畏的搜索路径,提到了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。...
转载
2013-10-01 17:04:00
26阅读
2评论
一、什么是算法?算法是指对特定问题求解步骤的一种描述,它不依赖与任何一种语构是程序的骨
原创
2022-09-20 10:37:52
237阅读
每个专题结束后会有5小时的专题赛~1、hustOJ目前支持谷歌、火狐浏览器等`
原创
2021-08-15 17:04:17
153阅读
原创
2021-06-01 13:47:06
261阅读
转载
2014-06-04 10:09:00
75阅读
2评论
一、冒泡排序:每次比较相邻两个数大小,然后交换, 一轮结束后,又从头开始 进行下一轮 (一共要 数组长度-1 轮 且每轮交换次数减少 并确定一个数子)func arrSort(arr [6]int) { for i := 0; i < len(arr); i++ { for j := 0; j < len(arr)-i-1; j++ { if arr[j] >
原创
2020-11-27 18:36:46
110阅读
上网下了个crackme,传说中的方法都不行,难道那些教程都坑爹。突发奇想重下了个OD,发现注释功能强了N倍,多了很多api注释,看着舒服多了,汇编句子也更容易理解了,建议大家如果感觉费劲可以下个diy过的od。下面是关键处的od里的汇编代码(根据输入的name算出序列号):004011C1 |> /6A 32 /push 0x32 ; /Count = 32 (50.)004011C3 |. |68 84624000 |push crackme2.00406284 ; |Buffer = crackme2.00406284,说明name字符串放在了00...
原创
2021-09-01 11:39:31
199阅读
aft算法算法动画演示:thesecretlivesofdata.com/raft/节点的三种角色:跟随者(follower)、候选人(candidate)、领导者(leader)最大容错故障节点:(N - 1)/ 2选举超时(election timeout):一个节点在成为候选节点(candidate)之前等待的时间,150ms到300ms之间的随机值心跳超时(heartbeat ti
原创
2022-08-31 20:55:02
91阅读
推荐算法大致能够分为下面几类 基于流行度的算法 协同过滤算法(user-based CF and item-based CF) 基于内容的算法(content-based) 基于模型的算法 混合算法 1. 基于流行度的算法 能够依照一个项目的流行度进行排序,将最流行的项目推荐给用户。比方在微博推荐中
转载
2017-07-29 13:43:00
238阅读
2评论
1. 概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中常常遇到的问题,以下介绍一下解决这两种问题的比較高
转载
2017-04-26 17:01:00
258阅读
2评论
aft算法算法动画演示:http://thesecretlivesofdata.com/raft/节点的三种角色:跟随者(follower)、候选人(candidate)、领导者(leader)最大容错故障节点:(N - 1)/ 2选举超时(election timeout):一个节点在成为候选节点(candidate)之前等待的时间,150ms到300ms之间的随机值心跳超时(heart
原创
2022-08-31 16:37:45
20阅读
# Java算法入门指南
## 一、流程概述
首先,让我们通过以下表格总结一下学习Java算法入门的流程:
| 步骤 | 描述 |
| ------ | ------ |
| 1 | 学习基础Java语法 |
| 2 | 理解常见数据结构 |
| 3 | 掌握常见算法思想 |
| 4 | 练习算法题目 |
| 5 | 参与算法竞赛 |
## 二、详细步骤
### 1. 学习基础Java语
思考题 因为浮点数+=0.1之后变成0.10000000000000001,而不是真正的0.1,所以造成了永远无法等于10.1,形成死循环。 倒三角形第一种解法:逆序 倒三角形第二种解法顺序; 
转载
2023-06-03 23:38:52
88阅读
目录前言一、运算规则1、不同类型运算1.1、案例1(不同类型进行运算,结果与最大数据类型一致)总结1.2、案例2(不同类型进行运算,强转结果使其与接收的数据类型一致)总结1.3、案例3(加减乘除)2、运算时的类型变化2.1、案例1(byte)2.2、案例2(short)2.3、案例3(char)3、整数运算溢出3.1、案例14、浮点数运算不精确4.1、案例14.2、案例25、浮点数的特殊值5.1、
转载
2023-05-30 09:42:39
58阅读
目录运算符和表达式1.算术运算2.关系运算3.逻辑运算短路逻辑4.赋值运算5.字符连接运算6.条件(三目)运算三部分组成运算规则 运算符和表达式运算方式运算符算术+、-、*、/、%关系==、>=、>、<、<=、!=逻辑&&、||、!赋值+=、-=、*=、/=、%=字符拼接+三目? :1.算术运算1>.取余(取模)只能用于整数或字符(int、char、
转载
2023-08-30 18:49:18
28阅读
python算法之基础 图解算法使用Python 文章目录python算法之基础前言一、计算机绘图指令实践二、最大公约数1.描述2.算法条件三、伪语言(Pseudo-Language)四、时间复杂度总结 前言计算思维分为四部分:分解、模式识别、模式概括与抽象以及算法。提示:以下是本篇文章正文内容,下面案例可供参考一、计算机绘图指令实践指令说明BT画大三角形ST画小三角形BC画出大圆形SC画出小圆形
转载
2023-08-09 16:47:39
61阅读
算法是程序的灵魂,而排序算法 是算法的入门经典,作者在此用python亲自实现了7种主流的排序算法,并做简短的说明.
排序算法
学习难度:桶排序 < 冒泡排序 < 选择排序 < 插入排序 < 快速排序 < 归并排序 < 希尔排序桶排序(简化版)桶排序: 将列表中最大数与最小数之间的数全部做成标签,贴到N个桶上 将每个元素放到对应值
1、关于listPython里的list不是单(双)向链表,是顺序表,是一整块单一连续的内存区块----我们通常称之为数组(array)。这样做的好处有两点:这样按照既定索引值对某元素进行直接访问时更方便;append是在列表末尾添加,insert必须移动插入点右边所有的数据,故方便用append。2、关于复杂度任何多项式级算法的复杂度都要高于对数级;任何指数级算法的复杂度都要高于多项式级算法。3
转载
2023-11-01 16:02:19
55阅读
文章目录前言
一、什么是算法二、简单算法
1.排序算法
2.查找算法之二分法总结 前言一、什么是算法?算法: 描述一种有限、确定、有效的并适合用计算机程序来实现的解决问题的方法。要定义一个算法,可以用自然语言描述解决问题的过程或是编写一段程序来实现这个过程。 &nb
转载
2023-06-25 16:42:55
227阅读