自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (5)
  • 收藏
  • 关注

原创 数据结构与算法——计数排序

原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-count-sort.html文章目录算法介绍算法实现算法优化算法介绍计数排序(Counting sort)是一种稳定的线性时间排序算法。该算法于1954年由 Harold H. Seward 提出。计数排序使用一个额外的数组C ,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。当输入的元素是 n 个 0 到 k 之间的整数.

2020-12-19 20:48:30 268 1

原创 数据结构与算法——堆排序

原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-heap-sort.html文章目录算法介绍算法步骤算法实现算法介绍堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法:大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升.

2020-12-19 20:47:31 246 1

原创 数据结构与算法——快速排序

原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-quick-sort.html文章目录1. 算法步骤2. 动图演示3. 算法实现实现一实现二4. 快速排序的特点及性能快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loo.

2020-12-19 20:46:24 231 1

原创 数据结构与算法——归并排序: 数组&链表&递归&非递归解法全家桶

原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-merge-sort.html文章目录算法介绍算法步骤代码实现数组实现时间复杂度O(NlogN),空间复杂度O(N)递归实现一:每次归并时都创建一个辅助数组递归实现二:仅创建一次一个等长的辅助数组,交替归并非递归实现链表实现时间复杂度O(NlogN),空间复杂度O(1)递归实现非递归实现(从底至顶直接合并)算法复杂度算法介绍归并排序(Merge sort)是建立在归并操作上.

2020-12-19 20:44:25 318 1

原创 数据结构与算法——插入排序(扑克牌排序)

原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-insert-sort.html文章目录算法原理排序步骤动图演示代码实现复杂度分析时间复杂度空间复杂度总结算法优化折半插入(二分查找)优化结果算法原理插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中.

2020-12-19 20:42:26 1300 1

原创 数据结构与算法——希尔排序

原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-shell-sort.html文章目录算法原理代码实现增量序列及时间复杂度Shell 增量序列Hibbard增量序列Sedgewick增量序列Knuth增量序列空间复杂度算法原理希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率.

2020-12-19 20:40:40 376 1

原创 数据结构与算法——选择排序

原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-selection-sort.html文章目录排序思想算法性能时间复杂度稳定性代码实现单向选择双向选择运行结果排序思想首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。其次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法我们称之为选择排序。选择排序是一种.

2020-12-19 20:38:58 446 1

转载 数据结构与算法——链表

原文链接:https://jiang-hao.com/articles/2020/algorithms-data-struct-linkedlist.html文章目录定义单向链表循环链表双向链表双向循环链表链表VS数组基于链表实现 LRU 缓存淘汰算法单链表的回文字符串判断如何写好链表代码技巧一:理解指针或引用的含义技巧二:警惕指针丢失和内存泄漏技巧三:利用哨兵简化实现难度技巧四:重点留意边界条件处理技巧五:举例画图,辅助思考技巧六:多写多练,没有捷径定义相比数组,链表是一种稍微复杂一点的数据结构.

2020-12-19 20:35:51 295 1

转载 数据结构与算法——数组

原文链接:https://jiang-hao.com/articles/2020/algorithms-data-struct-array.html文章目录定义随机访问低效的“插入”和“删除”插入操作删除操作警惕数组的访问越界问题容器能否完全替代数组?为什么数组要从 0 开始编号,而不是从 1 开始?内容小结定义数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。这个定义里有几个关键词,理解了这几个关键词,我想你就能彻底掌握数组的概念了。首先是线性表(.

2020-12-19 00:36:34 231 1

转载 数据结构与算法——复杂度分析

原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-bubble-sort.html文章目录概述时间复杂度分析大 O 复杂度表示法时间复杂度分析几种常见时间复杂度实例分析最好、最坏情况时间复杂度平均情况时间复杂度均摊时间复杂度空间复杂度分析内容小结概述从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。比如,因为数组具.

2020-12-19 00:29:53 716 2

原创 数据结构与算法——冒泡排序及其各种优化变形详解

版权声明:本文为Heriam博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://jiang-hao.com/articles/2020/algorithms-algorithms-bubble-sort.html文章目录定义算法原理算法实现助记码算法优化优化1:一轮遍历未发生交换可提前结束优化2:记录上一轮最后一次交换的位置优化3:鸡尾酒排序(双向冒泡排序)优化4:一轮遍历未发生交换可提前结束的双向冒泡排序优化5:记录上一轮最后一次交换的位.

2020-10-10 22:01:05 429

原创 VxLAN协议详解

版权声明:本文为Heriam博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://jiang-hao.com/articles/2020/networking-vxlan-in-depth.html文章目录VxLAN简介背景定义意义VxLAN组网模型VxLAN报文格式VxLAN运行机制隧道建立二层MAC学习BUM报文转发单播路由方式泛洪(头端复制)组播路由方式泛洪(核心复制)参考文献VxLAN简介背景任何技术的产生,都有其特定的时代背.

2020-05-23 23:20:38 2899

原创 深入理解大数据之——事务及其ACID特性

版权声明:本文为Heriam博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://jiang-hao.com/articles/2019/backend-transactions-acid.html文章目录事务简介事物的定义事务的目的事务的状态事务的ACID属性ACID简介原子性(Atomicity)一致性(Consistency...

2020-01-30 15:33:59 717

原创 深入理解大数据架构之——Lambda架构

原文链接:https://jiang-hao.com/articles/2019/big-data-lambda-architecture.html“我们正在从IT时代走向DT时代(数据时代)。IT和DT之间,不仅仅是技术的变革,更是思想意识的变革,IT主要是为自我服务,用来更好地自我控制和管理,DT则是激活生产力,让别人活得比你好”——阿里巴巴董事局主席马云。 传统系统的...

2019-11-05 15:12:32 988

原创 详解Java中的final关键字

文章目录final 简介[^1]final 修饰变量final 修饰类final 修饰方法final 优化编码的艺术final 简介1final关键字可用于多个场景,且在不同场景具有不同的作用。首先,final是一个非访问修饰符,仅适用于变量,方法或类。下面是使用final的不同场景:上面这张图可以概括成:当final修饰变量时,被修饰的变量必须被初始化(赋值),且后续不能修改其值,实...

2019-04-15 19:12:06 716 1

原创 使用Pelican在Github(国外线路访问)和Coding(国内线路访问)同步托管博客

介绍: Github Pages 禁用了百度爬虫,因此百度搜索引擎经常抓取不到在Github上托管的博客链接。本文介绍一种可行的解决方法: - 注册Gitcafe用来托管一份和Github上一样的博客仓库专门服务国内的索引 - 配置DNS解析,将国内的线路解析到Gitcafe,国外的线路解析到Github - 配置Pelican,支持一键将同一份本地博客仓库同时发布到Github和Gitcaf

2016-02-04 08:06:10 1191

原创 使用Pelican和Github Pages搭建个人博客详细教程

操作系统:Mac OS / Linux 工具集: 1.Pelican——基于Python的静态网页生成器 2.马克飞象——Evernote出的Markdown文本编辑器 3.GoDaddy——域名供应商 4.DNSPod——提供免费域名解析注册服务 5.Github Pages——Github为每个注册用户提供300M的站点空间 6.Python——Pelican工具需要Python运

2016-02-04 07:52:51 2319

原创 SDN开发之基于OpenDaylight和Mininet的试验床平台搭建

版权声明:本文为Heriam博主原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。博客主页:https://jiang-hao.com相关论文:https://www.researchgate.net/publication/305277465_A_Secure_Multi-Tenant_Framework_for_SDN#############...

2015-12-28 06:21:46 5354 2

原创 SDN开发之Linux系统下OpenDaylight源码编译安装和调试

操作系统:Linux x64 / Ubuntu 14.04研究领域:软件定义网络SDN (Software-defined Networking)开发组件:OpenDaylight本文原文链接:https://jiang-hao.com/articles/2018/backend-BuildandInstallOpenDaylightonUbuntu.html一、环境搭...

2015-12-27 08:02:44 8790 6

原创 Linux操作系统下Apache Maven的安装和配置

操作系统:Linux (CentOS/Ubuntu/Debian, etc.)Apache Maven版本:3.3.9建议预先搭建Java开发环境:详见上一篇《Linux Ubuntu系统下Java开发环境搭建》本文原文链接:Ubuntu系统Apache Maven安装1. 前往Apache Maven官网下载最新版本:https://maven.apache.org/dow...

2015-12-27 07:06:26 3981 1

原创 Linux CentOS/Ubuntu系统下Java开发环境搭建

操作系统:Linux(CentOS/Ubuntu/Debian)Java JDK版本:jdk-8u65-linux-x64.tar.gz本文原文地址:Ubuntu系统Java开发环境的搭建1. 前往ORACLE官网下载最新版本的Java JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.htm...

2015-12-27 05:43:58 5178 2

Java精选笔试题考卷(附完整答案).docx

精选Java开发试题、整套考卷100分,分为单选、不定项多选、简答题和编程题等部分,试题内容精选自互联网,知识点覆盖面广,从多方面、全方位考察答卷者的Java技能掌握程度。适合自测、面试、班级测验等等。

2019-09-11

Scala快速入门

适合想要快速入门scala语言进行基于Spark/Flink的大数据开发的读者。

2018-12-01

理工科PHD必备高效工具

列出了作为一名PHD或者电脑高度使用者必备的工具和高效技能。

2018-12-01

Hadoop经典技术书籍合集(Spark, Kafka, HBase, etc.)

文件包含了现如今最新Hadoop大数据关键技术的教程书籍。

2018-12-01

Intellitest - a Smart Remote Proctoring Solution

针对高校在线课程、MOOC课程结业、认证笔试、公司内部员工测试等诸多在线考试提供一套智能、安全的远程监考解决方案。

2015-11-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除