![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法简介
Frank Kang
不可久留于一处
展开
-
时间复杂度和空间复杂度
时间复杂度和空间复杂度简介原创 2020-06-09 14:38:45 · 146 阅读 · 0 评论 -
二分法(折半查找法)Java实现
二分法是静态查找法的一种,又称折半查找法,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。(要求其静态查找表必须是有序的) 在折半查找之前对查找表按照所查的关键字进行排序的意思是:若查找表中存储的数据元素含有多个关键字时,使用哪种关键字做折半查找,就需要提前以该关键字对所有数据进行排序。 对静态查找表{2,4,6,8,10,12,14,15,16,19,20}采用折半查找算法查找关键字为 4 的过程为 先把查找表从中间一分为二,(查找表长度的一半11/2=5),试比较中间索引位置的值和查找关键原创 2020-06-08 16:18:12 · 604 阅读 · 1 评论 -
归并排序
利用归并和递归的思想实现的 归并排序 归并算法的中心是归并两个已经有序的数组。归并两个有序数组A和B,就生成了第三个有序数组C。数组C包含数组A和B的所有数据项。 先来看看归并两个有序数组的实现 (可运行) package com.example.demo.recursion; import java.util.Arrays; /** * @author 阿康 * 归并两个有序数组 */ public class RecursionDemo5 { public stat.原创 2020-06-05 16:39:18 · 121 阅读 · 0 评论 -
栈原理及实现
栈(stack)必须遵守元素先进后出的规定,如果不遵守就不是栈了!栈也称为后进先出表。 栈作为数据结构,是一种只能在一端进行插入和删除操作的特殊线性表 。 先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。 允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈的具体实现 .原创 2020-06-05 16:10:03 · 581 阅读 · 0 评论 -
算法简介
算法 算法是解决某个问题的方法,可以说是一种思想。拥有算法雏形才能更好的解决问题,把这种解决问题的途径提升到可编辑的代码上。也就是程序。 (所以,算法相当于是程序的雏形。当解决问题时,首先心中要有解决问题的算法,围绕算法编写出程序代码。) 算法也可以解释为:计算机求解一个问题所需的一系列步骤。 算法的基本特性: 1. 输入:一个算法有0个或者多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身给出了初始条件; 2. 输出:一个算法有一个或多个输出,以反映对输入数...原创 2020-06-05 15:15:58 · 775 阅读 · 0 评论