![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构+算法
文章平均质量分 70
。
亦梦亦醒乐逍遥
写的文章都带有个人理解,不做搬运工
展开
-
数据结构学习记录以及思考
学习历程以及最后感想。原创 2021-10-07 22:12:17 · 259 阅读 · 0 评论 -
小学期破防:BIT计科大二小学期的个人见解以及建议
小学期是出了名的阴间,原因就在于,做出来这些题需要有大二一个学期的数据结构与算法基础,而且这次还加了军训,每天摊掉你3个小时时间,剩多少?呵呵。我把小学期的人分成三种:一种是有算法竞赛基础的。这类,功底扎实的可以全程开挂,轻松搞定,基础不扎实的,时间也够用。二是c语言学的还可以的,兼顾有一些经典书籍阅读经历,比如c primer plus(上面的很多代码思路比盲人摸象要好很多)。我就是属于这种情况。然而我还是破防了,即使你有这些基础,但是也仅仅是写普通代码的基础,带来的也就是bug少,可原创 2021-09-03 17:36:41 · 1171 阅读 · 0 评论 -
数据结构笔记——线性表、栈、队列、串(王道408)
思维导图+精炼的个人思考原创 2023-10-03 20:41:43 · 902 阅读 · 0 评论 -
数据结构笔记——查找、排序(王道408)
思维导图+个人思考,精简版原创 2023-11-03 19:25:21 · 1262 阅读 · 4 评论 -
数据结构笔记——树、图(王道408)
思维导图+精炼的个人思考原创 2023-10-26 22:58:31 · 919 阅读 · 0 评论 -
【C语言】函数传参与指针理解
指针变量这下可以分清了原创 2022-12-04 22:57:35 · 863 阅读 · 0 评论 -
【数值分析】c++任意精度圆周率pi
严格的数值计算原创 2022-04-23 10:32:23 · 1784 阅读 · 0 评论 -
【数值分析练习】数值积分(复化梯形,复化Simpson,Romberg积分)C with STL实现
稍微解释下算法复化梯形和复化Simpson其实都是一个思路,只不过复化梯形一次加2个函数值,跳一格跳h距离;而复化Simpson是一次加3个值,跳一格就跳2h的距离。书上的公式写的很漂亮,但是不适合计算机实现,所以上面思路我是循环加,而书上是一步到位。Romberg算法算是比较麻烦的了,书上给的公式也不够明白,我的代码是对书上公式的改进。逻辑是:T构造和SCR构造是两类T构造,后一个等于前一个的二分之一加上一个delta_T这个delta_T是,所有新增点的函数值之和,再乘以新的h.原创 2021-11-12 14:48:06 · 1020 阅读 · 0 评论 -
《数学建模方法与分析》(《Mathematical Modeling》)——最优化模型
这学期要学最优化方法,以及要搞数学建模,所以这本圣经必须得安排了。笔记导航原创 2022-02-27 16:15:01 · 2178 阅读 · 2 评论 -
数学建模全攻略
从最开始的准备到最后的实战原创 2022-02-27 16:14:04 · 10035 阅读 · 6 评论 -
【数值分析练习】三阶矩阵jacobi迭代法
其实是纯c语言,多封装几个函数即可。//n*n矩阵和n*1矩阵的jacobi迭代法#include<cstdio>#include<cmath>#define ROW 3#define COL 3void input(double A[][COL + 1], double B[][2], double G[][COL + 1], double F[][2]){ //读取A,B for (int i = 1; i <= ROW; i++) for (i.原创 2021-10-28 23:15:23 · 1150 阅读 · 0 评论 -
【排序】快速排序系列算法深入理解(c语言)
快速排序的流程比较经典:选定枢轴,先右后左,找到不等关系后交换,直到左右相等。int partition_up(List& list, int low, int high) { list.elems[0] = list.elems[low];//记录 while (low < high) //三个判断条件都是low<high,所以一定终止在low==high { //找不等关系,先右后左 while (lo原创 2022-01-05 22:46:11 · 426 阅读 · 0 评论 -
【数据结构与算法】深入理解后缀表达式(逆波兰式)
本文适用于想深入理解后缀式,而不是人云亦云的复现的人。后缀表达式的规则我就不说了,然后来理解一下:后缀表达式的构造方法要从后缀表达式的计算方法中诞生。计算方法,我也不说了,我们直接理解一下他的特点:表达式中有字母和符号。字母的前后顺序代表了计算顺序,连续的一串字母中,越靠后的越先算。符号的前后顺序,越靠前的越先算。由此,我们的出一个原则:越先算的,也就是优先级越高的,就应该早点放入表达式。这也就能解释为什么优先级高就可以落在符号栈里,而优先级低或者相等就要把下面高优先级或者同原创 2021-11-29 13:52:36 · 530 阅读 · 0 评论 -
【数据结构】深入理解二叉排序树和平衡二叉树AVL树(c语言)
本文案例提取于严蔚敏《数据结构c语言》二叉排序树是基础,简单说一下,不难。基本定义简言之就是根节点的值大于左孩子小于右孩子。重要性质:一直往左就是最小,一直往右就是最大。插入:就是递归,小就往左插,大就往右插,等于就不插。删除:两种操作,分别理解一下,书里说的太学术化。第一种。直接把p摘掉,把p的leftchild作为f的leftchild,那么问题来了,p的rightchild呢?分析一下,p的rightchild比p大,所以一定比p左边的左右东西都大,而没了p后,p左边的原创 2021-11-20 17:41:39 · 1284 阅读 · 0 评论 -
【数据结构-图】拓扑排序与关键路径(C语言)
题目描述说明: AOE 网络是有向无环加权图,其中顶点表示事件,弧表示活动,权表示活动持续的时间,通常可以用来估算工程完成的时间,即图中从开始点到结束点之间最长的路径对应的时间。请完成一个程序,完成下列任务:1 、计算 AOE 网络对应的拓扑排序。如果排序结果不唯一,请输出按照从小到大的顺序排列的结果。从小到大的顺序就是输入的节点序列顺序(参见下面关于输入格式的说明)。如图1中满足要求的拓扑排序是: a-b-c-d-e-f-g-h-k ,图2中满足要求的拓扑排序是:v1-v3-v5-v2-v6-v4原创 2021-11-16 17:11:51 · 2866 阅读 · 0 评论 -
【小项目】C++从0开始设计一个整型计算器(支持正负号,幂次方,公式正确性诊断)
首先了解好了中缀转后缀(中缀转逆波兰式)。这个随便在csdn上找就可以找到c语言的版本,流程大同小异。然后进入设计:0 最好自己编几个输出函数,方便检查void outAntiBolan(std::queue<char>exp){ while (!exp.empty()) { char top = exp.front(); exp.pop(); putchar(top); } putchar('\n');}puts();//这个当然少不了//判断原创 2021-11-07 22:42:05 · 452 阅读 · 0 评论 -
【数据结构-广义表】广义表代码实现及“修正”——《数据结构C语言》(严蔚敏)
前言说实话,稀疏矩阵那块也不难,画个图就搞定了,代码也没什么问题(主要还是书里都给了,也可以比较容易地实现)但是到了广义表这块,是真的让人头大,说的太含糊不清了,没有一个清晰的定义,这里做一个个人思路的记录,对这本书做一个更详细的解释。(要不是找不到好文章,我也懒得自己去写)1 广义表理解广义表的基本概念,因为有子表的存在,所以是递归的概念,其操作也必然有大量递归,我这里就不赘述了,自己看书即可,我做一个重点突出和补充。表头和表尾的理解:拿A=(a,b,c,d)和B=(a,(b,c,原创 2021-10-24 11:18:31 · 1992 阅读 · 0 评论 -
【数据结构-线性表】双向(循环)链表ADT(严蔚敏《数据结构》)
书里不全,而且有的写的不好。我全敲出来,测试过,并且底层函数之间没有互相调用(其实完全可以的,但是我就是不,诶,就是玩儿)并且把里面一些安排的不好的函数优化了一下.//双向链表ADT#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#define OK 1#define ERROR 0typedef int ElemType;typedef int Status;typedef st原创 2021-10-13 16:13:00 · 401 阅读 · 0 评论 -
【数据结构-树】二叉树凹入输出,递归思路+非递归思路
本文只讨论前序首先,凹入输出是要注意层次的,depth越大,空格越多。那么就有两种思路:每次打印节点前查询一下该节点层次(复杂度太高) 给struct加一个depth成员(不推荐,会改变树结构,现用也不是不可以) 给打印函数加depth参数(递归思路) 使用map来在不改变树结构的前提下实现2(非递归思路)input:ab#d##ce###output:a b d c e学习3思路,只需要会递归遍历即可,4思路...原创 2021-10-31 14:10:13 · 2029 阅读 · 0 评论 -
【c语言】高精度加减乘除模板
其实csdn有很多,但我不太习惯,今天下午调试很不爽,就自己写了一个,备用。常规思路,倒序转化int,计算后再倒序转回char[]还有最快的思路,bitset,直接用位操作(但是我不会)void add(const char str1[], const char str2[], char ans[]){#define _MAX_WID 500 //使用指南:str1+str2=ans //思路核心:先转化成int,实现进位,然后再变成char //内置长度可以修改,原创 2021-09-11 22:16:43 · 378 阅读 · 0 评论