- 博客(17)
- 收藏
- 关注
原创 赫夫曼树和n皇后
若将树中结点赋给一个带有某种含义的数值,则该数值称为该结点的权。从根结点到该结点之间的路径长度与该结点的权的乘积,称为该结点的带权路径长度。如图,叶子结点I的带权路径长度为 3 × 3 = 9给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,则称该二叉树为哈夫曼树,也被称为最优二叉树。根据树的带权路径长度的计算规则,我们不难理解:树的带权路径长度与其叶子结点的分布有关。即便是两棵结构相同的二叉树,也会因为其叶子结点的分布不同,而导致两棵二叉树的带权路径长度不.
2022-05-30 01:18:14
279
原创 链队列和循环队列
队列是一种先进先出(FIFO)的线性表,它只允许在表的一端进行插入,而在另一端删除元素。这和我们日常生活中的排队是一致的,最早进入队列的元素最早离开。队列的结构图如下所示:明白了队列之后,链队列就非常简单了,用链表表示的队列就简称为链队列。一个链队列显然需要两个分别指示队头和队尾的指针(分别称为头指针和尾指针)才能惟一确定。图片转载//链队列结构定义//链队列节点typedef struct LinkNode{ int data; struct LinkNode* next;}
2022-05-17 20:10:25
789
原创 栈的应用:递归
递归通过函数本身的重复调用,能够减少代码量,以大化小、一。累加#include <stdio.h> int addTo(int paraN) { int tempSum; printf("entering addTo(%d)\r\n", paraN); if (paraN <= 0) { printf(" return 0\r\n"); return 0; } else { tempSum..
2022-05-13 01:22:15
550
原创 栈的应用---表达式求值
表达式求值是栈的一个重要的应用。例如计算器中的加减乘除表达式的计算,都会使用栈来进行求值。表达式的表示方法主要有中缀表示法和后缀表示法。中缀表示法:操作符号处于两个操作数的中间例如3+4,中缀表达式是符合人们思维的算术表达式方法,中缀表达式通常包含圆括号和方括号。中缀表达式不容易被计算机所理解,因此不太方便使用其进行表达式求值。后缀表达式的例子21+3*,它 对应中缀表达式为(2+1)*3, 中缀表示的例子 1 +3 * (4 + 5)后缀表达式:不包含括号,运算符号放在两个运算对象的后面,所
2022-05-11 22:59:59
360
原创 栈和括号匹配
栈是一种符合先进后出原则的数据结构主要操作氛围进栈和弹栈。规则是栈顶元素先弹出而后进栈,进栈就是一个新的元素取代原本的栈顶元素。栈可以用来进行最基本的括号匹配操作,栈的图示为:(转载)具体代码如下//定义栈typedef struct zhan{ int top; int data[max_size];}*zhanptr; //of typedef //输出栈void outputzhan(zhanp
2022-05-11 22:48:32
1216
原创 数据结构06--多项式加法
第一步创建链表LinkList initLinkList(){ LinkList tempHeader = (LinkList)malloc(sizeof(struct LinkNode)); tempHeader->coefficient = 0; tempHeader->exponent = 0; tempHeader->next = NULL; return tempHeader;}//of initLinkList第二步,初始化链表。LinkList
2022-05-06 11:34:26
75
原创 数据结构04--静态链表
上课学到,静态链表有助于我们对内存的理解。逻辑结构上相邻的数据元素,存储在指定的一块内存空间中,数据元素只允许在这块内存空间中随机存放,这样的存储结构生成的链表称为静态链表。也就是说静态链表是用数组来实现链式存储结构,目的是方便在不设指针类型的高级程序设计语言中使用链式结构。它的优点是和动态链表一样,删除和插入元素时间复杂度低;不足是和数组一样,需要提前分配一块较大的空间。静态链表的存储地址是虚拟地址,是连续的地址而单链表的地址并不一定是连续的,是操作系统指定的并且可以延申。创建节点typ
2022-05-03 18:46:46
273
1
原创 数据结构03--双向链表
双向链表与单链表的区别在于,双链表每个节点具有两个指针,分别指向节点的直接前驱和后继,因此双向链表可以两个方向遍历,在增加、删除等操作中,双向链表需要操作更多的指针指向。结构:typedef struct DoubleLinkedNode{ char data; struct DoubleLinkedNode *previous; struct DoubleLinkedNode *next;}DLNode,*DLNodePtr;可以看到包含一个数据域,一个头指针和一个尾指针创建头
2022-05-03 18:37:28
638
2
原创 数据结构03-双向链表
双向链表是另一种形式的链表,与单链表不同,双向链表的节点具有两个指针,分别指向节点的直接前驱和直接后继。因此双向链表可以双向遍历。老师代码如下:#include <stdio.h>#include <malloc.h>/*** Double linked list of integers. The key is char.*/typedef struct DoubleLinkedNode{char data;struct Double...
2022-05-03 17:38:54
101
原创 数据结构:01线性表
下面是老师的代码#include <stdio.h>#include <malloc.h> #define LIST_MAX_LENGTH 10 /** * Linear list of integers. The key is data. */typedef struct SequentialList { int actualLength; int data[LIST_MAX_LENGTH]; //The maximum length is
2022-04-25 23:17:43
86
原创 MySQL学习笔记(二)
转义字符的使用MySQL中转义字符有 \ ‘ 和“转义字符 转义后的字符 \" 双引号(") \' 单引号(') \\ 反斜线(\) \n 换行符 \r 回车符 \t 制表符 \0 ASCII 0(NUL) \b 退格符 MySQL存储引擎InnoDBInnoDB引擎是具备外键支持功能的事务处理引擎...
2022-04-03 16:57:05
873
原创 MySQL学习笔记(一)
Java中的Math类math类的构造方法是private的,因此无法创建Math对象,Math类的方法可以通过类名来调用它们
2022-03-29 19:33:33
1251
原创 Java中的内置包装类
Java是一门面向对象的语言 ,我们知道Java中的数据类型分为基础数据类型和引用数据类型,然而基础数据类型不能称之为对象,因此Java设置了位于这些基本数据类型之上的包装类,包装类和基本数据类型的对应关系如下1 byte Byte2 short Short3 int Integer4 long Long5 char Character6 float Float7 double Double8 boolean Boolean可以清楚的看到除了integer和chara
2022-02-13 23:56:09
369
原创 java字符串学习笔记(持续更新)
字符串大小写字母变换:java中字符串大小写字母变换可以用到toLowerCase()方法(变成小写)和toUpperCase()(变成大写)方法,使用例子是字符串名.toLowerCase() (另一个也一样)String en="hello";System.out.println(en.toLowerCase());输出结果是:HELLO。java中字符串长度的获取Java中字符串长度的获取可以用到length()方法,使用格式为字符串名.length()Strin
2022-02-09 00:15:27
226
原创 二叉树的遍历和建立
tips:二叉树遍历多应用递归的思想一、前序遍历前序遍历的顺序是先遍历该位置结点,再通过递归遍历该结点的左结点,再遍历右结点。结点的遍历顺序如下图对该二叉树进行前序下遍历,遍历的顺序是A>>B>>D>>H>>I>>E>>J>>C>>F>>K>>G前序遍历的算法如下void PreOrder(tree T) { if (T == NULL) { retu.
2021-12-25 18:13:14
548
1
原创 单链表详解(学习笔记)
链表是一种链式储存结构,在C语言中有着重要的作用。而在如同我一样的初学者的学习过程中,链表的操作很有难度,故而有必要用博客记录学习过程,分享给大家的同时也自我巩固。一.链表的概念和定义相对于线性表,链表有许多优点,例如在线性表中,删除或插入元素的操作很复杂,需要将插入或删除位置的前/后元素不停地移动,倘若涉及到频繁地插入或者删除的操作,链表的优点就凸显出来了。链表作为一种链式存储结构,其的存储内容除了要存的数据元素信息之外,还储存着后继元素的存储地址。为了表示链表中每一个存储元素a(i...
2021-12-16 11:58:40
1400
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人