自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 mysql数据库基础

在mysql学习中记录的一些知识点

2022-12-03 17:49:18 517 1

原创 哈夫曼树的构建方法

哈夫曼树一、哈夫曼树的定义二、构建思路三、代码实现定义树查找最小的两个权值的结点建立哈夫曼树总代码:一、哈夫曼树的定义首先需要理解几个问题:1、什么是路径在一棵树中,从一个结点到另一个结点所经过的所有结点,被我们称为两个结点之间的路径2、什么是路径长度在一棵树中,从一个结点到另一个结点所经过的“边”的数量,被我们称为两个结点之间的路径长度。3、什么是结点的带权路径长度树的每一个结点,都可以拥有自己的“权重”(Weight),权重在不同的算法当中可以起到不同的作用。结点的带权路径长度,是指树的

2022-05-30 00:54:07 18050 3

原创 回溯法解决n皇后问题

n皇后问题一、什么是n皇后问题二、思路三、代码实现一、什么是n皇后问题n-皇后问题是指将 n 个皇后放在 n∗n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。二、思路即运用回溯算法,比如,n为4时,先在第一行第一列放置一个皇后,然后在第二行第三列放置一个皇后,但是到第三行时发现不能放置,这时就用递归,回溯的算法回到第二行,将第二行右移一格,再第三行,以此类推三、代码实现#include <stdio.h>#include <

2022-05-29 19:54:49 975

原创 二叉树及遍历

二叉树的遍历一、二叉树的初始化和赋值1、定义二叉树2、引入队列3、初始化4、入栈和出栈5、用给定字符建立结点6、用给定字符创立二叉树二、四种遍历1、层次遍历2、前序遍历3、中序遍历4、后序遍历三、总代码四、测试结果一、二叉树的初始化和赋值1、定义二叉树用结构体定义二叉树typedef struct BTNode{ char element; BTNode* left; BTNode* right;}BTNode, *BTNodePtr;2、引入队列typedef struct BTNo

2022-05-24 00:58:27 705

原创 [循环队列]

循环队列一、创建二、初始化三、入列四、出列五、打印六、测试代码七、总代码一、创建typedef struct CircleIntQueue{ int data[TOTAL_SPACE]; int head; int tail;}*CircleIntQueuePtr;二、初始化CircleIntQueuePtr initQueue() { CircleIntQueuePtr resultPtr = (CircleIntQueuePtr)malloc(sizeof(CircleIntQu

2022-05-16 11:59:13 117

原创 [链队列]

链队列一、链队列节点二、链队列三、链队列初始化四、打印五、入列六、出列七、测试代码八、总代码一、链队列节点typedef struct LinkNode{ int data; LinkNode* next;}*LinkNodePtr;二、链队列typedef struct LinkQueue{ LinkNodePtr front; LinkNodePtr rear;}*LinkQueuePtr;三、链队列初始化LinkQueuePtr initQueue(){ LinkQueu

2022-05-16 11:43:07 91

原创 递归实现累加以及汉诺塔问题

递归实现累加以及汉诺塔问题一、累加函数二、测试函数三、累加结果四、汉诺塔五、测试结果六、总代码一、累加函数int addTo(int paraN){ int sum=0; if(paraN<=0){ return 0; } else{ sum=addTo(paraN-1)+paraN; printf("return sum %d\r\n",sum); return sum; }} 二、测试函数void addToTest() { int n, sum;

2022-05-11 22:06:21 108

原创 栈以及括号匹配

栈以及括号匹配一、栈:二、定义:三、入栈:四、出栈:五、测试代码:六、括号匹配七、测试代码八、总代码九、测试结果一、栈:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。二、定义:代码演示:typedef struct CharSt

2022-05-10 18:16:32 2678

原创 多项式加法

多项式的加法一、创建链表二、初始化链表三、打印链表四、打印结点五、添加数据六、相加七、测试代码八、测试结果一、创建链表typedef struct LinkNode{ int coefficient; int exponent; struct LinkNode *next;} *LinkList, *NodePtr;二、初始化链表LinkList initLinkList(){ LinkList tempHeader = (LinkList)malloc(sizeof(struct Li

2022-05-04 20:36:55 658

原创 静态链表的有关操作

静态链表一、静态链表的意义二、创建静态链表三、初始化静态链表四、打印五、插入六、删除七、查找第x位元素八、查找元素x在第几位九、测试十、此时链表十一、总代码十二、测试结果一、静态链表的意义静态链表,就是用数组描述的链表。静态链表在初始化时要确定数组的长度,所以需要预先分配空间,其空间大小一般是静态的,故名静态链表二、创建静态链表代码演示:typedef struct StaticLinkedNode{ char data; int next; //游标}*NodePtr; ty

2022-05-03 20:26:27 1337

原创 学习学习3(双向链表)

双向链表一、定义双向链表二、链表的初始化三、打印链表四、插入六、删除七、查找元素位置八、查找第x位元素九、测试代码十、所有代码十一、测试结果一、定义双向链表代码演示:typedef struct DoubleLinkedNode{ char data; struct DoubleLinkedNode *previous; struct DoubleLinkedNode *next;} DLNode, *DLNodePtr;二、链表的初始化代码演示:DLNodePtr initLink

2022-05-02 19:48:04 421

原创 学习学习2(单链表)

单链表一、单链表的定义链表概念:二、链表的创建:三、链表的初始化四、尾插法:五、头插法:六、任意插入:七、删除八、销毁链表:九、清空链表:十、获取链表长度:十一、查找第x位元素:十二、查找元素x的位置:十三、总代码演示:十三、测试结果:一、单链表的定义链表概念:链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。二、链表的创建:typedef struct LinkNode{ cha

2022-04-29 19:37:51 828

原创 学习学习1

顺序表处理:文章目录顺序表处理:1、定义顺序表:代码实现:2、依次输出顺序表:代码实现:3、初始化顺序表:代码实现:4、插入元素:原理:顺序表长度为n,要将第x位插入一个a数,先将第x位之后的数后移一位,再把第x位赋值为a,再将顺序表长度加一5、测试代码:6、顺序表的查找:代码实现:7、顺序表的删除:原理:类似于之前的顺序表的插入![](https://img-blog.csdnimg.cn/e27a5f295ee44440ba0b51b61a8b1926.png?x-oss-process=image/

2022-04-26 01:39:38 446

空空如也

空空如也

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

TA关注的人

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