
算法
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 · 176 阅读 · 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 · 213 阅读 · 0 评论 -
《数据结构》——树相关知识点总结
树树定义:专业定义:1.有且仅有一个成为根的节点2.有若干个互不相交的子树,这些子树本身也是一棵树通俗定义:树是由节点和边组成每一个节点只有一个父节点,但可以有多个子节点但有一个节点例外,该节点没有父节点,此节点称为根节点专业术语:节点 父节点 子节点子孙节点 兄弟节点 堂兄弟节点深度:从根节点到最底层节点的层数称之为深度,根节点在第一层叶子节点:没有子节点的节点非终端节点:实际非叶子节点度:子节点的个数称为度树分类一般树 任意一个节点的子节点的个数都原创 2020-08-02 01:09:52 · 921 阅读 · 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 · 870 阅读 · 0 评论 -
《数据结构》——队列相关知识点笔记(循环队列的数组实现方式)
队列定义:一种可以实现“先进先出”的存储结构分类:静态队列:用数组实现链式队列:用链表实现循环队列静态队列为什么必须是循环队列传统方式实现不了循环队列需要几个参数来确定需要两个参数来确定:front,rear循环队列各个参数的含义2个参数不同场合有不同的含义建议初学者先记住,然后慢慢体会1).队列初始化front和rear的值都是零2).队列非空front代表的是队列的第一个元素rear代表的是队列的最后一个有效元素的下一个元素3).队列空front和r原创 2020-07-29 22:37:14 · 337 阅读 · 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 · 252 阅读 · 0 评论