
算法
文章平均质量分 77
算法
鲲志说
前某里、现某区块链 后端研发,国内互联网圈划水博主、阿里云专家博主、CSDN博客专家、CSDN内容合伙人、CSDN杭州城市社区主理人、COC技术社区年度优秀主理人、AI电影共创社杭州核心成员、极星会-星辉大使、周周黑客松杭州主理人、阿里蚂蚁校友会技术AI分会副秘书长。仅在国内的CSDN平台,博客文章浏览量300w+。 博客包括:Java、区块链、云原生、数据库、算法、计算机基础、python、前端、Linux、go、网络等相关使用及进阶知识。欢迎沟通交流,合作共赢:kunzhi96
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常用对称加密算法之AES算法-CBC模式
常用对称加密算法之AES算法-CBC模式,对称加密算法简单比较原创 2022-10-20 15:38:53 · 11722 阅读 · 0 评论 -
算法:next数组的求法详解
在牛客网刷题遇到了求next数组的题型,结果在学校学的没有牢记,做错了,还是要多刷题做总结啊。我们先口述说明一下next数组的求解方法:我们能确定next数组第一二位一定分别为0,1,后面求解每一位的next值时,根据前一位进行比较。从第三位开始,将前一位与其next值对应的内容进行比较,如果相等,则该位的next值就是前一位的next值加上1;如果不等,向前继续寻找next值对应的内容......原创 2019-01-27 16:26:48 · 115469 阅读 · 123 评论 -
数据结构 : 数组 / 链表 / 二叉排序树增删改查的时间复杂度解析
我们先看一下时间复杂度的概念: 在计算机科学中,算法的时间复杂度(Time complexity)是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。记作: T(n) = O(f(n))。它表示随着 输入大小n 的增大,算法执行需要的时间的增长速度可以用 f(n) 来描述。接下来我们对比一下数组 / 链表 / 二叉树增删改查的时间复杂度一.数组数组长...原创 2019-02-27 23:48:42 · 8367 阅读 · 1 评论 -
排序:Java实现大顶堆和二叉树的广度优先遍历原理及代码注释详解
附有过程详细思路图解,最后有整体实现的代码一、堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它是不稳定排序。1.堆排序简介堆是一个近似完全二叉树(可以简单理解为从根到最后一层,只有最后一层可以存在二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连...原创 2019-07-11 02:08:39 · 640 阅读 · 0 评论 -
排序:Java实现冒泡排序原理及代码注释详解
冒泡排序1.简介:冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。它的最坏时间复杂度为O(n2),最好时间复杂度为O(n),平均时间复杂度为O(n2),它稳定排序。2.算法原理:1...原创 2019-07-15 16:32:36 · 3339 阅读 · 0 评论 -
排序:Java实现选择排序原理及代码注释详解
选择排序1.简介:选择排序是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。它的最坏、最好、平均时间复杂度均为为O(n2),选择排序是不稳定的排序方法。2.算法原理:首先在未排序序列中找到最小(...原创 2019-07-15 20:34:48 · 720 阅读 · 0 评论 -
排序:Java实现快速排序原理及代码注释详解
快速排序1.简介:快速排序是对冒泡排序的一种改进。它的最坏时间复杂度为O(n2),最好时间复杂度为O(nlogn),平均时间复杂度为O(nlogn),它是不稳定排序。基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2.算法原理:...原创 2019-07-15 22:00:02 · 616 阅读 · 0 评论 -
排序:Java实现插入排序原理及代码注释详解
插入排序1.简介:插入排序是一种简单直观且稳定的排序算法。它的最坏时间复杂度为O(n2),最好时间复杂度为O(n),平均时间复杂度为O(n2),它是稳定排序。基本思想:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。2.算法原理:从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在已经排序的元素序列中...原创 2019-07-17 02:21:44 · 612 阅读 · 0 评论