
算法
yang小白嘿嘿
我想成为很厉害的小白菜!加油奥!快快成长为大白菜!
展开
-
结构体指针声明,函数声明
结构体声明 函数声明原创 2022-04-22 13:55:40 · 1552 阅读 · 0 评论 -
递归实现汉诺塔问题
思路让n-1个盘子借助B移动到C 然后最下面的盘子一步到位#include <stdio.h>void hanoi(int n, char from, char via, char to){ //终止条件 if (n==1) { printf("%c->%c\n", from, to); return; } //递归 hanoi(n - 1, fro...原创 2020-03-10 12:45:16 · 219 阅读 · 0 评论 -
递归和迭代的区别
附上一张图片便于理解两者关系:所有的迭代可以转换为递归,但递归不一定可以转换成迭代。原创 2020-03-10 12:22:27 · 736 阅读 · 0 评论 -
单链表的相关操作及代码
1.创建结点2.在链表末尾插入结点3.删除接点4.查找某个结点5.头插法6.尾插法7.链表的长度8.遍历结点#include <stdlib.h>#include <stdio.h>typedef struct _Node{ char value; struct _Node * next;} Node, *PNode;PNode header...原创 2020-03-09 23:57:39 · 135 阅读 · 0 评论 -
B树——红黑树(RB-Tree)
定义:红黑树(red-black-tree)是一种二叉查找树,但是在每个节点上增加一个存储位表示结点的颜色,可以是RED或BLACK。通过对任何一条根到叶子的路径上各个结点着色的方式的限制,红黑树确保没有一条路径会比其他路径长出2倍,因而是接近平衡的。性质:每个节点或是红的,或是黑的。根节点是黑的。每个叶节点是黑的(NIL)如果一个结点是红的,则他两个儿子都是黑的。对每个节点,从该结...原创 2020-03-09 21:49:03 · 832 阅读 · 0 评论 -
二叉搜索树(BST)
二叉搜索树(Binary Searching Tree)记住的特点就是左边的key<=根的key 右边的key>=根的key定义:支持多种动态集合操作,插入、删除、找最小值、最大值、前驱、后继、查找。用途:即可做字典,也可以做优先队列。时间复杂度:基本操作时间和树的高度成正比。对于n个节点的完全二叉树,最坏运行时间O(lgn).如果树是含n个节点 线性链,则最坏操作时间是o(n...原创 2020-03-09 20:23:26 · 147 阅读 · 0 评论 -
多路查找树 ——2-3树 2-3-4树的深入理解
转载转载 2020-03-09 18:44:17 · 131 阅读 · 0 评论 -
对7种排序算法的总结
排序算法是最基本的知识了,面试中也是常考的知识点,尤其是快速排序考察最多,也要求手写出来,并分析他的时间复杂度。下面是我对所学到的知识的一个总结。排序算法总共分为5大类:第一类:插入排序 直接插入、希尔排序第二类:选择排序简单选择排序 堆排序第三类:交换排序冒泡排序 快速排序第四类:归并排序第五类:基数排序(考察很少,知道概念就行)文章目录直接插入排序希尔排序简单选择排序堆排...原创 2020-03-05 21:28:00 · 226 阅读 · 0 评论