数据结构与算法
Frank Kang
不可久留于一处
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
手写一个ArrayList集合
package com.example.demo.arraylist; import java.util.Arrays; /** * ArrayList的实现() * @author 阿康 */ public class MyArrayList { public static void main(String[] args) { ArrayListClass arrayListClass = new ArrayListClass(); arrayL...原创 2020-06-09 14:57:37 · 279 阅读 · 0 评论 -
时间复杂度和空间复杂度
时间复杂度和空间复杂度简介原创 2020-06-09 14:38:45 · 228 阅读 · 0 评论 -
二分法(折半查找法)Java实现
二分法是静态查找法的一种,又称折半查找法,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。(要求其静态查找表必须是有序的) 在折半查找之前对查找表按照所查的关键字进行排序的意思是:若查找表中存储的数据元素含有多个关键字时,使用哪种关键字做折半查找,就需要提前以该关键字对所有数据进行排序。 对静态查找表{2,4,6,8,10,12,14,15,16,19,20}采用折半查找算法查找关键字为 4 的过程为 先把查找表从中间一分为二,(查找表长度的一半11/2=5),试比较中间索引位置的值和查找关键原创 2020-06-08 16:18:12 · 718 阅读 · 1 评论 -
图(数据结构)
图简介 在计算机程序设计中,图是最常用的结构之一。一般来说,对于数据存储是用不到图,图一般是用来辅助解决某些具体的问题的用的。 图是一种与树相似的数据结构,从数学意义上讲,树是图当中的一种,但是图的应用方式又和树是不同的:图是没有这样固定的结构的。 ...原创 2020-06-05 17:57:37 · 2265 阅读 · 0 评论 -
深度优先搜索(DFS)
所谓深度优先搜索,是从"图"中的一个顶点出发,每次遍历当前访问顶点的临界点,一直到访问的顶点没有未被访问过的临界点为止。然后采用依次回退的方式,查看来的路上每一个顶点是否有其它未被访问的临界点。访问完成后,判断图中的顶点是否已经全部遍历完成,如果没有,以未访问的顶点为起始点,重复上述过程。(百度) (不了解图的可以先看看这篇文章) 深度优先搜索(DFS)(深度优先搜索通过栈来实现) 注:深度优先搜索(DFS)是图搜索方法的一种 规则如下: 规则1:如果可能,访问一个邻接的未访问顶点,标记它,并..原创 2020-06-05 17:20:56 · 414 阅读 · 0 评论 -
归并排序
利用归并和递归的思想实现的 归并排序 归并算法的中心是归并两个已经有序的数组。归并两个有序数组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 · 205 阅读 · 0 评论 -
栈原理及实现
栈(stack)必须遵守元素先进后出的规定,如果不遵守就不是栈了!栈也称为后进先出表。 栈作为数据结构,是一种只能在一端进行插入和删除操作的特殊线性表 。 先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。 允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈的具体实现 .原创 2020-06-05 16:10:03 · 669 阅读 · 0 评论
分享