![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
玛卡巴卡
桃李不言,下自成蹊
展开
-
【C++学习笔记】基本知识点、语法、指针、const、结构体、STL标准模板库、String容器、vector容器、deque容器、stack、queue、set、map
基础1:命名空间使用 一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。内部可以直接使用,外部使用时必须指定。命名空间使用的三方式 ①加命名空间名称及作用域限定符int main(){ printf("%d\n", N::a); return 0;} ②使用using将命名空间中的成员引入using N::b;int main(){printf("%d\n", N::a);//a没有...原创 2022-01-23 18:55:45 · 547 阅读 · 8 评论 -
数据结构C语言版清华大学严蔚敏(学习笔记总结7)——排序全代码:冒泡排序、直接插入排序、折半排序、希尔插入排序、选择排序、堆排序、归并排序、快速排序、基数排序【另附理解笔记】
排序算法比较表格排序算法 平均时间复杂度 最坏时间复杂度 空间复杂度 是否稳定冒泡排序 O(n2) O(n2) O(1) 是选择排序 O(n2) O(n2) O(1) 不是直接插入排序 O(n2) O(n2) O(1) 是归...原创 2022-01-02 12:12:37 · 1720 阅读 · 1 评论 -
数据结构C语言版清华大学严蔚敏(学习笔记总结6)——查找全代码:二分查找、折半查找、分块查找、哈希查找、哈希表、平衡二叉树【另附学习笔记】
一. 二分查找(折半查找)核心思想:将nn个元素分成个数大致相同的两半,取a[n/2]a[n/2]与欲查找的xx作比较,如果x=a[n/2]x=a[n/2]则找到xx,算法终止。如果x<a[n/2]x<a[n/2],则我们只要在数组aa的左半部继续搜索xx(这里假设数组元素呈升序排列)。如果x>a[n/2]x>a[n/2],则我们只要在数组a的右 半部继续搜索x.其算法时间复杂度O(lgn)//c/c++int binary_find(int *num,int le..原创 2022-01-02 11:57:13 · 1260 阅读 · 0 评论 -
数据结构C语言版清华大学严蔚敏(学习总结5)——图的全代码:邻接矩阵、邻接表、十字链表法、多重链表法、最短路径Dijkstra算法、图的遍历、深度优先、广度优先、拓扑排序、最小生成树(另附理解笔记)
1、邻接矩阵#include <stdio.h>#include <stdlib.h>typedef char datatype;typedef int edgetype;#define MAXVEX 20 //顶点最大数,由使用者自定义 #define INFINITY 65535 //代指无限大 typedef struct{ datatype data[MAXVEX]; //顶点表 edgetype arc[MAXVEX][...原创 2022-01-01 11:26:36 · 771 阅读 · 0 评论 -
数据结构C语言版清华大学严蔚敏(学习笔记总结4,代码在下面)——树、空树的建立、创建树、销毁树、统计叶子结点、树的遍历、前序中序后序层次遍历、完全二叉、哈夫曼树(前面是笔记方便理解,最下面有详细代码)
1、创建树#define _CRT_SECURE_NO_WARNINGS 1#include "Tree.h"BTNode *BinaryTreeCreate(BTDataType*a, int* pi) //创建树{ if (a[*pi] == '#') { (*pi)++; return NULL; } BTNode* root = (BTNode*)malloc(sizeof(BTNode)); root->_left = root-&g..原创 2022-01-01 11:00:12 · 467 阅读 · 0 评论 -
数据结构C语言版清华大学严蔚敏(学习笔记总结3,代码在下面)——栈和队列、进栈出栈、栈空、入队、出队、循环队列(前面是笔记方便理解,最下面有详细代码)
1、栈的顺序存储//-----栈的顺序存储表示------typedef struct { SElemType *base; SElemType *top; int stacksize;}SqStack;2、基本操作//------基本操作-----------Status InitStack(SqStack *S){ //构造一个空栈 (*S).base =(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElem..原创 2022-01-01 10:45:36 · 568 阅读 · 0 评论 -
数据结构C语言版清华大学严蔚敏(学习笔记总结2,代码在下面)——串和数组、矩阵存储、压缩矩阵、转置矩阵、对称矩阵、广义表、稀疏矩阵(前面是笔记方便理解,最下面有详细代码)
串(即字符串)是一种特殊的线性表,它的数据元素仅由字符组成。串是由零个或多个字符组成的有限序列。串中任意连续个字符组成的子序列称为子串。子串的第一个字符在主串中的序号,定义为子串在主串中的位置,该位置索引从0开始。特别的,空串是任意串的子串,任意串是自身的子串。串的逻辑结构与线性表极为相似,区别仅在于串的数据对象约束为字符集,但操作有很大差别。求子串,从第i位置的字符开始抽出j个字符构成一个新的串。j<=strlen(s)+1-i;1.顺序存储typedef st...原创 2022-01-01 10:33:56 · 766 阅读 · 0 评论 -
数据结构C语言版清华大学严蔚敏(学习笔记总结1,代码在下面)——顺序表、链表、循环链表、双向链表、结点的插入删除(前面是笔记方便理解,最下面有详细代码)
#include <stdio.h> #include <stdlib.h> typedef struct Table{ int * head; int length; int size; }table; //初始化 void initTable(table *t,int size){ (*t).head=(int*)malloc(size*sizeof(in...原创 2022-01-01 00:59:24 · 347 阅读 · 0 评论 -
离散数学(五)上课复习笔记(无向图的连通性、有向图、欧拉图、哈密顿图、二部图、平面图)
原创 2022-01-01 00:29:11 · 358 阅读 · 0 评论 -
离散数学(四)上课复习笔记(元素的方幂、幂等元、子群、交换群、循环群的生成元、置换群、简单图、握手定理、子图、补图、简单图、基本路、图的连通性)
原创 2022-01-01 00:27:07 · 1752 阅读 · 0 评论 -
离散数学(一)学习笔记(知识网络、命题、命题类型、主范式、命题逻辑推理系统)
原创 2022-01-01 00:14:33 · 208 阅读 · 0 评论 -
python ---寻找水仙花数
给定一个整数 n,判断 n 以内的正数是否含有水仙花数。水仙花数是指一个 3 位的整数,它的每个位上的数字的 3 次幂之和等于它本身。for-elsefor-else 语句是 for 循环的一种,它和 break 语句一起使用时才能显示出 else 的作用。下面给出了两个使用 for-else 的例子及其执行结果。"""任务:给定一个整数 n,判断 n 以内的正数是否含有水仙花数,n 通过 input 获取;如果有,输出“有水仙花数”,如果没有,则输出“没有水仙花数”。""" #原创 2021-12-31 23:20:22 · 4052 阅读 · 0 评论 -
python汉诺塔问题
在编程语言中,如果一种计算过程的其中每一步都会用到前一步或前几步的结果,这个计算过程就可以称为递归的。而用递归计算过程定义的函数,则被称为递归函数。递归函数的应用很广泛,例如连加、连乘及阶乘等问题都可以利用递归思想来解决。而汉诺塔问题也是递归函数的经典应用。汉诺塔问题的解决思路是:如果我们要思考每一步怎么移可能会非常复杂,但是可以将问题简化。我们可以先假设除a柱最下面的盘子之外,已经成功地将a柱上面的63个盘子移到了b柱,这时我们只要再将最下面的盘子由a柱移动到c柱即可。如下图2所示:图 2原创 2021-12-31 23:15:53 · 180 阅读 · 0 评论 -
python----判断给定的整数是否是素数
x=int(input())if x<1: print('输入数据不合法')elif x%2==0 and x!=2: print('不是素数')elif x==2: print('是素数')else: i=2 while i<x: i+=1 if x%i==0: print('不是素数') break elif i>=x/2: .原创 2021-12-31 23:12:49 · 506 阅读 · 0 评论 -
太原理工软件工程大二数据结构考试重点(必考考点)
(老师上课明确要考的)选择题 15个 30分简答题 4个 20分应用题 5分计算题 6个 30分编程题 2个 15分堆排序 希尔排序查找 哈希表二叉排序树,计算叶子结点个数度顶点 边组成哈夫曼编码最短路径的计算...原创 2021-12-26 19:51:30 · 678 阅读 · 0 评论