数据结构与算法
青冘
希望和你一起进步
展开
-
二叉树的深入学习(一) 二叉树基础
前言树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树。希望各位读者能够关注专题,并给出相应意见,通过系列的学习做到心中有“树”1 重点概念...原创 2020-05-08 15:07:59 · 592 阅读 · 0 评论 -
每天进步一点点之数据结构和算法(3)——直接插入,希尔排序
直接插入排序介绍直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。直接插入排序图文说明代码实现: /** *...原创 2019-10-24 10:21:05 · 402 阅读 · 0 评论 -
每天进步一点点之数据结构和算法(2)——冒泡,快速排序
1.冒泡排序介绍冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序。它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。重复此操作,直到整个数列都有序为止!冒泡排序...原创 2019-10-24 10:00:53 · 399 阅读 · 0 评论 -
每天进步一点点之数据结构和算法(1)——堆、栈和队列
目录1.堆2.栈(stack):先进后出3.堆、栈区别总结4.队列:先进先出5.链表实现1.堆1.1堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。1.2堆是在程序运行时,而...原创 2019-07-27 16:13:47 · 1110 阅读 · 0 评论