自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵阿

总是输不对密码

  • 博客(16)
  • 收藏
  • 关注

原创 图的概述

bfs、dfs、最小支撑树、最短路径、prim、dijkstra、floyd、kruskal、关键路径、拓扑序列

2020-03-16 15:05:51 188

原创 5.1 基于循环的三基本排序:冒泡、简单选择、直接插入

差别和异同相同:对于数组类型,这三种排序都是用二重循环去实现的具体思路:冒泡:第i次循环,把第i大的数甩到数组末尾简单选择:第i循环,把第i小的数和下标i的元素交换直接插入:第i次循环,前面i个数都有序稳定性差别:在常见的排序算法里,有五种是不稳定的(不稳定:排序前是 1,1 排序后虽然还是1,1,但是第二个1原先在第一个位置上)简单选择不稳定,快堆折归(快排、堆排...

2020-03-10 18:05:01 150

原创 dijkstra算法

看更多算法的流程代码void dijkstra_main(int** test,int size,int start_pos){ if(size<=0 || test == NULL || start_pos < 1) return ; dijkstra_node* sup = (dijkstra_node*) malloc(sizeof(dijkstra...

2020-03-10 17:51:03 166

原创 图的dfs与bfs

看更多思路简介图的bfs极度类似树的层次遍历,用队列去实现。dfs则极度类似树的非递归遍历,用栈去实现。代码//-------------------我是DFS的开头------------------------------void dfs_base_matrix_init(int** data,int size){ if(data == NULL || size &l...

2020-03-10 17:46:10 160

原创 生成图

为什么要生成图在写和图有关的数据结构的算法的时候,总是需要数据的,每个用例都手动的去初始化一个二维数组或者邻接表很麻烦的。无向无权图int** init_graph_matrix(int num_spot){//由边随机生成一个无向图 int i ;int j ; i = j =0 ; srand(time(NULL)); int** data = (int**) mall...

2020-03-10 17:43:09 615

原创 层次遍历二叉树

想看更多队列简介 对于一些资源调度问题,FIFO的方法比较常用,比如操作系统的页面置换算法,在一些具体场景里(银行、医院等排队功能当然优先考虑用队列去实现了) 除此之外,队列还可以用于二叉树的层次遍历。层次遍历的想法1. 根节点加入队列2. 进入循环,出口条件是队列为空3. 出一个节点,并且把他的左右子加入队列4.可以用一个特殊的#号代表换行,最开始根和...

2020-03-10 17:37:25 171

原创 非递归先序遍历二叉树

为什么非递归?众所周知,二叉树的递归遍历 = 三行代码,那么什么要使用非递归去实现呢?1.难度高的面试、考试可能会考(比较重要)2.帮助我理解栈和递归的关系(有点重要但不是那么重要)非递归的思路所谓非递归,不过是通过使用栈去把递归的过程模拟出来罢了。栈的操作也很简单:左子能入就入左子,右子能入就入右子,没有子入就弹出。非递归的代码(先序)/*用例 1234...

2020-03-10 17:30:30 406

原创 生成一个二叉树

想看更多二叉树的简介二叉树本身的意义不重要,只学二叉树的话会觉得没什么用,因为他不像栈那样为复杂循环提供了行之有效的解决办法。学习二叉树的目的其实是为了后面的排序树、平衡树、堆等知识做准备。生成一颗二叉树生成二叉树的方式大概有两种第一种是用某种序列+#号(用来代表空指针)第二种是用中序序列 + 任意一个其他序序列 (前序、后序、层次 ,这种方法不需要用符号去代表空指针)生...

2020-03-10 17:25:37 2074

原创 表达式求值

想看更多什么叫中缀表达式?我们从小学开始学的那种算式,比如(1+2)*7 就是一个中缀表达式。当任意一个中缀表达式“加满”括号,例如:96/12+4*2 →加满括号→ ((96/12)+(4*2)) →逐步拆括号 →生成一个二叉树。这个树是有规律的:操作符号(+-*/)都在非叶子节点上,且上一层的节点后算,下一层的节点先算。对这个树进行先序遍历,所得到的序列就是前缀表...

2020-03-10 17:08:47 465

原创 栈的简介

1.栈的简介1.1 基本操作栈的基本操作:init、pop、push、get_length…,因为C本身不提供栈这种数据结构,所以需要自己手动实现,实现代码:#include "stack.h"#include "stdio.h"#include "stdlib.h"stack* initStack(int* data, int size ){ int i = 0 ; ...

2020-03-10 16:48:48 227

原创 数据结构与算法(C实现)

目录第一部分:线性表1.栈1.1栈的简介1.2 中缀表达式求值2.队列第二部分:树和图3.二叉树4.图4.1 生成图的数据4.2 DFS与BFS,递归与非递归4.3 单源最短Dijkstra第三部分:排序和查找5.排序5.1 冒泡5.2 简单选择5.3 直接插入5.4 快排5.5 二路归并6.查找6.1二分查...

2020-03-10 16:16:41 452

原创 C语言中的* 简单记忆方法

c语言中 * 号的两种用法:动态数组和按图索骥

2020-03-07 19:20:12 578

原创 非递归遍历二叉树

非递归遍历二叉树

2020-03-06 16:05:15 2304

原创 二叉树的按层展示

输入一个二叉树,按行打印。第一行打印根节点,第二行打印根的左右子,依次类推

2020-03-06 14:48:05 572

原创 二叉树的生成(一) 层次遍历序列

输入二叉树的层次遍历序列,生成对应的二叉树。如输入1##, 生成一个根节点值为1的树。

2020-03-05 14:45:23 4227

原创 Android.Sensor.Step_Counter应用例子

1.背景介绍:  本文将实现一个名为Step_Counter(Boolean A)的函数,功能是统计从Step_Counter(Boolean.TRUE)到Step_Counter(Boolean.FALSE)这段时间里用户的步数。    首先查阅API文档,其中关于Step_Counter的描述如下: TYPE_STEP_COUNTERA constant descri...

2018-05-02 19:49:58 2197 1

空空如也

空空如也

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

TA关注的人

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