Algorithm
AYXYJ
这个作者很懒,什么都没留下…
展开
-
树的前中后遍历代码
二叉树非递归遍历前序/** * 先序非递归遍历 * 访问一个节点时候,若该节点左右孩子节点都存在,按照右孩子左孩子顺序压栈,若只存在一个孩子节点,直接压栈该孩子节点 */ public void firstTravel(TreeNode root) { Stack<TreeNode> stack = new Stack<...原创 2020-04-18 18:40:37 · 273 阅读 · 0 评论 -
头结点、头指针、首元素区别
头指针,头结点,首元结点(首元素)的区别一、 先区分一下概念: 头结点: 在单链表第一个元素结点之前设置的一个结点,数据域可以不存任何信息,指针域指向单链表第一个元素的结点。对于单链表来说,头结点可有可无,但为了操作方便,一般情况下单链表都具有头结点,后面的分析将会区别一下有头结点和没有头结点的区别。 优点: 减少了单链表添加删除时特殊情况的判断,减少了程序的复杂...原创 2017-10-05 10:46:37 · 5960 阅读 · 0 评论 -
数据结构基本操作
//******************************一单元***************************新手莫笑0.0 慢慢积累//*******************************顺序表操作******************************* #include<stdio.h> #include<string.h>...原创 2017-11-29 21:19:24 · 329 阅读 · 0 评论 -
搜索—>深搜广搜拓补排序
#include<stdio.h>#include<string.h>#define N 5int e[5][5]={0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,0,1,0,0,0,1,1,0,0};int book[5],n = N;void dfs(int x){printf("%d ",x);for(int i=0;...原创 2017-11-29 21:23:43 · 192 阅读 · 0 评论 -
插入排序
直接插入排序介绍直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。直接插入排序图文说明下面选取直接插入排序的一个中间过程对...转载 2019-03-24 10:13:58 · 87 阅读 · 0 评论 -
选择排序
前言1、选择排序(Selection Sort)的基本思想选择排序的基本思想:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。常用的选择排序方法有直接选择排序和堆排序。一、直接选择排序1、直接选择排序的基本思想n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果。第1趟从R[0]~R[n-1]中选取最小值,...转载 2019-03-24 10:15:27 · 149 阅读 · 0 评论 -
冒泡排序
一、什么是冒泡排序呢?冒泡排序的英语名是Bubble Sort,是一种最基础的交换排序。 大家一定都喝过汽水吧,汽水中常常有许多小小的气泡,往上飘,这是因为组成小气泡的二氧化碳比水要轻,所以小气泡才会一点一点的向上浮。而冒泡排序之所以叫冒泡排序,正是因为这种排序算法的每一个元素都可以向小气泡一样,根据自身大小,一点一点向着数组的一侧移动。具体如何移动呢?我们来看一下例子:有8个...转载 2019-03-24 10:17:44 · 217 阅读 · 0 评论