二十二画程序员
  • 16
    文章
  • 1
    专栏
  • 13079
    访问
  • 5
    粉丝
  • 5
    关注
  • 14
    获赞

二十二画程序员 等级

公众号『二十二画程序员』专注于计算机基础知识分享,如数据结构和算法、计算机网络、操作系统、组成原理等,会点Java,会点Go。
  • 最新发表
  • 最多访问
  • 最多收藏
  • 最多评论
【排序算法动画解】直接插入排序

本文为系列专题的第 14 篇文章。1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 前面介绍了已经介绍了三种排序,暴力排序、冒泡排序和简单选择排序,一个共同点都是基于交换。我们可以用另一种视角来看待排序,即将一个待排序的数组看成两个部分:有序区和乱序区。在排序开始前,整个数组都是乱序区,而有序区则为空:排序开始后,有序区

813
0
0
【排序算法动画解】简单选择排序

本文为系列专题的第 13 篇文章。1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 在文章【】中,我们介绍了暴力排序和冒泡排序这两种排序算法,算是一个引子。同时指出暴力排序和冒泡排序的缺点硬伤。本文介绍的简单选择排序则“医治”了上面提到的暴力排序和冒泡排序的“硬伤”。核心思想:从数组的第一个元素开始,将其作为基准元素,然后找出基准

1278
0
0
【排序算法动画解】排序介绍及冒泡排序

本文为系列专题的第 12 篇文章。1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 本文先简单介绍一下什么是排序,然后再结合动画介绍暴力排序和冒泡排序。 1. 什么是排序?排序在日常生活中无处不在。比如考试成绩的排名、体育课的从低到高的队形、网购时按价格升序排列或降序排列等等。| 姓名 | 学号 | 班级 | 成绩 || | | |

1290
0
1
动图图解二叉查找树的基本原理及其实现

本文为系列专题的第 12 篇文章。1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 1. 是什么?二叉查找树(Binary Search Tree)必须满足以下特点: 若左子树不为空,则左子树的所有结点值皆小于根结点值 若右子树不为空,则右子树的所有结点值皆大于根结点值 左右子树也是二叉排序树如下图,是一颗二叉查找树:如果你对二叉查找树进行中序

713
0
0
如何找东西?查找算法之顺序查找和二分查找详解

本文属于系列文章【】 1. 何为查找?我们平常做很多事情,都会涉及到大量的增删改查操作。比如一个用户管理系统,会涉及用户注册(增)、用户注销(删)、修改用户信息(改)、查找用户(查),其中“删”和“改”要依赖“查”操作。下面重点来介绍一下查找这个重要的操作。现给你一个点名册,让你查找一个学生。我们的做法是:根据这个学生的姓名或者学号,在点名

668
0
1
【数据结构和算法:简单方法】谈一谈优先队列的实现

【系列文章推荐阅读】 首先回忆一下队列(详细内容移步至),只要记住八个字即可:先进先出(FIFO),后进后出(LILO)。 就像去医院门诊看病排队时一样:先来的先看,看完先走。而优先队列的特性正是“优先”二字,“优先”二字意味着打破了“常规”“规则”。优先队列不再遵守普通队列的先进先出的原则了,如何不遵守呢? 最大优先队列:不管入队顺序如何,

791
0
0
一篇文章帮你搞懂二叉堆的那些事

【系列文章推荐阅读】 1. 什么是二叉堆?“二叉”自不必多说,本章主要介绍的树都是二叉树。那么啥是“堆”呢?我们在日常生活中,通常会说“一堆东西”或者“堆东西”,这里的“堆”,通常指重叠放置的许多东西。我们在堆东西的时候,肯定都有一个经验,即:为了使这堆东西更稳定,会将比较重的、大的东西放在下面,比较轻的、小的东西放在上面。这个经验放在数据结

734
1
2
线索二叉树的原理及创建

【系列推荐阅读】 1. 为什么要用到线索二叉树?我们先来看看普通的二叉树有什么缺点。下面是一个普通二叉树(链式存储方式):乍一看,会不会有一种违和感?整个结构一共有 7 个结点,总共 14 个指针域,其中却有 8 个指针域都是空的。对于一颗有 n 个结点的二叉树而言,总共会有 n+1 个空指针域,这个规律使用所有的二叉树。这么多的空指针域是不

664
0
0
二叉树创建后,如何使用递归和栈遍历二叉树?

0. 前言前文主要介绍了树的相关概念和原理,本文主要内容为二叉树的创建及遍历的代码实现,其中包括递归遍历和栈遍历。 1. 二叉树的实现思路 1.0. 顺序存储——数组实现前面介绍了满二叉树和完全二叉树,我们对其进行了编号——从 0 到 n 的不中断顺序编号,而恰好,数组也有一个这样的编号 —— 数组下标,只要我们把二者联合起来,数组就能存储二叉树了。那么非满

752
0
0
一文看懂二叉树的概念和原理

系列文章推荐阅读 0. 前言到目前为止,我们已经讲述了、、、四种数据结构,它们有一个共同的特点,就是它们都是线性表,换句话来说,它们都是线性结构,像一根绳子一样。在文章已经介绍过线性表的定义了,即由若干元素按照线性结构(一对一的关系)组成的有限序列。关键词是一对一的关系。显然,在复杂的现实社会中,这种一对一的关系是不能较好的满足我们的需求的。比如

933
2
0