算法
Holy姜姜
行走江湖,闯些浮名,攒些散碎银两。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《数据结构》——排序知识点之快速排序代码笔记
排序和查找的关系 排序是查找的前提 排序是重点 排序: 冒泡 插入 选择 快速排序 归并排序 #include <stdio.h> void QuickSort(int * a,int low,int high); int FindPos(int * a,int low,int high); int main(void) { int a[6]={2,1,-10,5,4,3}; int i; QuickSort(a,0,5);//第二个参数表示第一个元素的下标,第二个参数表示最后原创 2020-08-02 10:35:37 · 203 阅读 · 1 评论 -
《数据结构》——二叉树先中后三种遍历方式相关代码整理
#include <stdio.h> #include <malloc.h> typedef struct BTNode { int data; struct BTNode * pLchild; struct BTNode * pRchild; }BTNODE,*PBTNODE; PBTNODE CreateBTree(void); void PreTraverseBTree(PBTNODE PT); void InTraverseBTree(PBTNODE PT); vo原创 2020-08-02 01:12:51 · 238 阅读 · 0 评论 -
《数据结构》——树相关知识点总结
树 树定义: 专业定义: 1.有且仅有一个成为根的节点 2.有若干个互不相交的子树,这些子树本身也是一棵树 通俗定义: 树是由节点和边组成 每一个节点只有一个父节点,但可以有多个子节点 但有一个节点例外,该节点没有父节点,此节点称为根节点 专业术语: 节点 父节点 子节点 子孙节点 兄弟节点 堂兄弟节点 深度:从根节点到最底层节点的层数称之为深度,根节点在第一层 叶子节点:没有子节点的节点 非终端节点:实际非叶子节点 度:子节点的个数称为度 树分类 一般树 任意一个节点的子节点的个数都原创 2020-08-02 01:09:52 · 996 阅读 · 0 评论 -
《数据结构》——递归之汉诺塔实现代码
递归 定义:一个函数自己直接或间接调用自己 满足递归的三个条件: 递归必须得有一个明确的终止条件 该递归所处理的数据规模必须在递减 这个转化必须是可解的 循环和递归 递归:易于理解;速度慢;存储空间大 循环:不易理解;速度快;存储空间小 举例 求阶乘 1到100求和 汉诺塔 伪算法: If(n>1) { 先将A柱子上的前n-1个盘子从A借助C移到B 将A柱子上的第n个盘子直接移到C 再将B柱子上n-1个盘子借助A移到C } 走迷宫 递归的应用: 树和森林就是以递归的方式定义的 树和原创 2020-07-30 19:36:10 · 908 阅读 · 0 评论 -
《数据结构》——队列相关知识点笔记(循环队列的数组实现方式)
队列 定义:一种可以实现“先进先出”的存储结构 分类: 静态队列:用数组实现 链式队列:用链表实现 循环队列 静态队列为什么必须是循环队列 传统方式实现不了 循环队列需要几个参数来确定 需要两个参数来确定:front,rear 循环队列各个参数的含义 2个参数不同场合有不同的含义 建议初学者先记住,然后慢慢体会 1).队列初始化 front和rear的值都是零 2).队列非空 front代表的是队列的第一个元素 rear代表的是队列的最后一个有效元素的下一个元素 3).队列空 front和r原创 2020-07-29 22:37:14 · 383 阅读 · 0 评论 -
《数据结构》——栈相关知识点笔记
Stack:只允许一端进行插入或删除的操作 栈顶Top 栈底Bottom 栈的链式实现方式代码展示: #include <stdio.h> #include <malloc.h> #include <stdlib.h> typedef struct Node { int data; struct Node *pNext; }NODE,*PNODE; typedef struct Stack { PNODE pTop; PNODE pBottom; }STA.原创 2020-07-29 11:29:12 · 280 阅读 · 0 评论
分享