自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mankind的博客

90后,计算机研究生,公众号:萌凯的程序人生

  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 树,最复杂的数据结构

树,是计算机中最复杂的一种数据结构,它的形式多变,有各种各样复杂的树被人创造并在计算机的各个地方使用,如红黑树,B+树等。本文将对树这一基本的数据结构进行介绍。文章目录1.什么是树2.满二叉树3.完全二叉树4.总结1.什么是树树是计算机中最重要的,也是大大提高效率的一种数据结构。树同样是存储数据的一种结构,只不过,它以树的方式进行组织。如下图所示,是一棵二叉树。图中的每个圆圈称为“结点”...

2020-02-19 21:48:18 1186

原创 队列,计算机中的排队模型

生活中随处可见队列,例如食堂打饭,超市买单的时候,我们都会自然而然地排队。那么,在计算机中如何表示这一现象呢?文章目录1.什么是队列2.入队与出队3.循环队列4.总结1.什么是队列队列,是一种我们再熟悉不过的模型了,现实中到处可见它的场景,比如,饭堂打饭需要排队,购票需要排队。队列是一种最体现公平的数据结构,因为它的特点就是“先进先出(First In First Out,FIFO)”...

2020-02-16 09:55:24 1749

原创 栈,实现递归的数据结构

栈在计算机中扮演着重要的角色,它是计算机实现函数调用的基本数据结构。文章目录1.什么是栈2.入栈3.出栈4.栈的实现5.总结1.什么是栈栈是一种较为特殊的数据结构,它的特点是先进后出。什么意思呢?想象你有一个跟书本一样长宽的盒子,当你依次往里面放进书本1,书本2,书本3之后,如果想要把书本1拿出来,你会发现现在你能拿出来的只有书本3。因为其他两本都被压在下面了。只有当书本3,书本2被依...

2020-02-15 10:07:00 1818

原创 链表,最省内存的数据结构

链表,是数据结构比较基础的一种数据结构。它具有节省内存,需要多少就创建多少的特性。文章目录1.什么是链表2.创建链表3.查找元素4.删除元素5.总结1.什么是链表链表是一种比较节省内存的数据结构,它的每个元素是一个节点node,每个node包含了存储值value和下个节点指针next,指向下一个node。在数组中,我们需要先为数据分配一定大小的空间,比如int a[10]。但实际上,我...

2020-02-14 10:54:45 1124

原创 数组,编程语言的基石

引言在计算机的世界中,数据可以有各种各样的组织形式,比如,模拟现实中排队取钱的队列,代表复杂的社交网络的图结构等,不同的数据结构各自适应不同的情况。学习数据结构,我们能够为我们要解决的问...

2020-02-13 10:40:35 205

原创 排序算法之桶排序

目录本文将介绍排序算法中又快又简单的排序算法——桶排序,包括:桶排序计数排序基数排序1桶排序桶排序是在已经数据的范围的条件下,创建若干个桶,根据相应的比较规则将待排数据落入各个对应的桶...

2020-02-12 08:53:24 426

原创 排序算法之归并排序

引言本文将介绍排序算法中的归并排序,学习归并排序需要很好地理解计算机中的分治思想和递归思想。1分治思想归并排序,利用分而治之的思想,将大的问题,转换成简单的,小的问题来解决。分治,字面...

2020-02-11 09:36:03 242

原创 排序算法之快速排序,它为什么这么快?

目录本文将介绍排序算法中最常用,以及最重要的快速排序。包括:快速排序实例代码解析效率分析1快速排序实例快速排序由C. A. R. Hoare在1960年提出,是冒泡排序的一种改进。快速...

2020-02-10 09:34:29 1409 1

原创 排序算法之希尔排序

本文将介绍排序算法中的希尔排序,它是高级版的插入排序,是我们第一个介绍的有点难度的算法。1. 实例讲解希尔排序,是插入排序的一个升级版本。在插入排序中,无论数据是怎么分布的,依然循规蹈矩的一步一步比较,移动,插入。在希尔排序中,采用跳跃式的方式,按照某个增量gap将数组元素分成多组序列,并使用插入排序使得各自组内有序。随后逐步缩小gap,继续按组进行插入排序,直到增量为1。这样...

2020-02-09 10:20:43 814

原创 排序算法之插入排序,玩扑克牌必会

本文将介绍排序算法中的插入排序,包括: 插入排序实例 代码解析 效率分析 1 插入排序实例今天来学习插入排序,在讲插入排序之前,我们先来讲一讲扑克牌。每个人都会打扑克牌,不知道你们有没有注意到,我们在拿牌的时候,会习惯性地把手上的牌按照从小到大排好。这样我们在出牌的时候才不会手忙脚乱。当你的小伙伴正在发牌的时候,如果你习惯发一张拿一张,你可能会无意中用到插...

2020-02-08 13:06:08 646

原创 排序算法之冒泡排序,入门必学

本文将对排序算法中的冒泡排序进行讲解。1 冒泡排序今天介绍另外一种排序算法,冒泡排序。它的基本思想是,对相邻的元素进行两两比较,顺序相反则交换,这样,每趟会将最小(或最大)的元素浮到数组最后面,最终达到整体有序。冒泡排序也是较为直观的一种排序算法,以整体升序为例,我们先看看每一趟具体发生了什么:我们可以看到,每一趟过程中,从左到右,相邻的位置进行比较,如果不符合升序,就将其位置对调。...

2020-02-07 10:39:25 378

原创 排序算法之选择排序

排序算法是每个程序员必须掌握的基础知识。目前经典的排序算法,有冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排序,归并排序,桶排序。本文将对选择排序进行讲解。另外,我最近注册了个人公众号【萌凯的程序人生】,分享个人的一些学习总结和经验,欢迎大家关注。文章目录1.选择排序2.代码解析3.效率分析1.选择排序我们会经常遇到对数据进行排序的问题,比如,一组学生成绩按照从大到小的顺序排名...

2020-02-06 13:47:53 338

原创 二分查找,教你如何提高搜索效率

二分查找,是程序员入门必会的一个高效搜索算法。本文将对二分查找,以及时间复杂度等概念进行讲解。1 什么是算法和时间复杂度在计算机科学中,算法是指在有限时间内解决一个问题的一系列确定的指令。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度...

2020-02-05 09:23:53 1636

原创 要理解递归,你先要理解递归

本文将介绍递归的概念和简单的例子,希望能够帮助读者理解计算机中难以理解的递归。1 什么是递归通常我们写出很多函数之后,这些函数是用来提供给其他地方调用完成一些事情的。比如我们有函数gcd用来计算两个数的最小公约数。如果我们要计算三个数的最小公约数呢?我们可以写一个新的函数gcd2,假设三个数为a,b,c,可以调用gcd(a,b)得到a和b的最小公约数ab,再调用gcd(ab,c...

2020-02-04 11:53:51 850

原创 C语言:基本语法汇总

本文将对计算机编程的入门语言——C语言中的基本语法,包括判断,循环,函数,结构体,数组等概念进行介绍讲解。1判断语句在生活中我们经常要做出选择,程序也是如此。购物时的标准,优惠券的折扣条件等,在代码中都需要if语句来进行判断。假如我们要判断一个正整数是偶数还是奇数,可以这样子写:其中if后面括号中的 x%2 == 0 是一个判断语句,当x%2的值等于0的时候,x%2==...

2020-02-03 14:57:20 10975

原创 c语言:从零开始的编程之旅

本文将对计算机编程的入门语言——C语言做简单讲解,包括: 编程工具devcpp的安装 C语言中的变量 C语言的运算 1 devcpp的安装C语言是计算机领域的入门编程语言。它跟我们平时所学的英语之类的语言有什么不同呢?由于计算机是一个没有感情的机器,它不能够理解我们说的话,活在自己的世界中。而计算机的世界,就是二进制的世界,所有的指令,都会转换成二...

2020-02-02 11:51:46 496

使用scrapy框架爬取拉勾网数据

使用scrapy框架爬取拉勾网数据,相关博客链接http://blog.csdn.net/hemk340200600/article/details/77803297

2017-09-02

基于SSH框架的简易博客系统

在eclipse上开发的基于SSH框架的简易博客系统,前端使用Bootstrap和JQuery,配合个人博客http://blog.csdn.net/Hemk340200600/article食用更佳

2017-05-08

空空如也

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

TA关注的人

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