C语言与数据结构总结
南师考研
爱吃柚子的梨
自勉联:
有志者事竟成破釜沉舟百二秦关终属楚
苦心人天不负卧薪尝胆三千越甲可吞吴
展开
-
多项式相加Y43 算法2.22(严版教材43页)
【代码】#include <stdio.h>#include <stdlib.h>#include <string.h>#define maxSize 100typedef struct LNode{ int coef, expn;//系数,指数 struct LNode* next;}LNode;void AddPolyn(LNod...原创 2020-06-02 15:04:47 · 126 阅读 · 0 评论 -
【模拟B卷】5.迷宫问题求解
【反思】1.巩固复习了回溯法2.在写卷子的过程中没能解决路径输出的问题,此题有两种输出方式:用栈将路径存储起来,当遇到终点的时候统一输出 将走过的足迹做标记,如标记为6,当遇到终点的时候将整个迷宫矩阵打印出来3.如果还想要输出最短路径,可以每条路径及其长度存起来,在所有递归结束时再输出路径【之前答案错误原因分析】void MazePath(int i, int j)//输...原创 2020-06-02 15:05:26 · 369 阅读 · 0 评论 -
模拟A卷二、6 unix系统中tail命令实现
【反思总结】1.补充学习带参数的main函数知识2.学习不带头结点的循环单链表的创建易错点:不带头结点的循环单链表创建要先读入数据,再用尾插法插入结点3.逆序打印不带头结点的单链表(易错点:要传入两个指针,一个用作循环条件判断,一个作为循环变量进行递归)【代码】#include <stdio.h>#include <stdlib.h>#incl...原创 2020-06-02 15:06:11 · 211 阅读 · 0 评论 -
【空间数据结构】点到直线的距离
【原理】GIS算法P121【代码】#include <stdio.h>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <string.h>#define maxSize 100typedef struct{ double x, y...原创 2020-06-02 15:06:26 · 452 阅读 · 0 评论 -
大数/相乘阶乘简化版
【代码】#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define maxSize 255void Multi(int m, int n){ int stack[maxSize], top = -1; int i,temp;...原创 2020-06-02 15:03:08 · 217 阅读 · 0 评论 -
C背诵【私密版】
数据类型关键字(13个):void, int, char, short, long, float, double, signed, unsigned, struct,typedef, union,enum,控制语句关键字(12个):if,else, switch, case, default, while, do, for, goto, break, continue, return限定...原创 2020-06-02 15:12:12 · 190 阅读 · 0 评论 -
检查栈输出序列正误的规律:先出来的序号后面一定不能有比他本身小的从小到大排列的序列。
检查栈输出序列正误的规律:先出来的序号后面一定不能有比他本身小的从小到大排列的序列。说明:所谓比他本身小的从小到大排序的序列,指的是整个序列(元素个数≥2)每个元素的序号都比先出来的序号小,且序列中元素的位置只要逻辑上分布是从小到大排序即可,没有必要紧挨着。举个栗子:1,2,3,4为入栈顺序,出栈序列为3,1,4,2这个序列是不允许的,原因在于3后面有比他小的序列1,2,且正如你所见这个序列中...原创 2020-06-02 15:12:19 · 833 阅读 · 0 评论 -
分块查找与折半插入排序查找部分的比较
分块查找 while (low <= high) { mid = (low + high) / 2; if (index[mid].key >= key)//有等于号,因为low,high相等时若使得low+1,则会在low+1处查找,而实际应该在mid处查找。因为low+1对象内的最小关键字会比mid处的值大。 high = mid - 1; else ...原创 2020-06-02 15:12:25 · 155 阅读 · 0 评论 -
外部排序第二版
第二版改编自:https://www.cnblogs.com/kangjianwei101/p/5609342.html说明:此处仅采用置换选择排序加败者树的方法进行外部排序,后期有时间再琢磨如何使用最佳归并树。原理:1.产生待排序文件,文件中包含超过100万的数据2.用置换选择排序,将文件分成若干个有序归并段。其中置换选择排序中的内部排序方法采用败者树。3.采取多路归并的...原创 2020-06-02 15:10:02 · 116 阅读 · 0 评论 -
C背诵
C语言的编译和运行1.编辑:编写C源代码2.编译:对C源代码进行预处理,将宏定义替换成真正的内容,然后对所得源程序进行语法检查,若出错返回第一步,直至没有语法错误。此时,编译程序将源程序转换成二进制形式的目标程序。3.连接4.运行...原创 2019-10-15 22:35:53 · 207 阅读 · 0 评论 -
计算一棵给定二叉树的所有结点/叶子结点
【2005 三 6】两种方案计算二叉树各结点的子孙个数的算法【测试数据】来源:https://blog.csdn.net/weixin_42034217/article/details/95787182【代码解析】#include <stdlib.h>#include <stdio.h>#define maxsize 100// 定义结点类型t...原创 2019-09-07 20:33:57 · 3572 阅读 · 0 评论 -
空间几何知识识记
判断输入的三条边能否构成三角形原创 2019-10-13 10:26:50 · 151 阅读 · 0 评论 -
一些优质算法解析
动态规划之 KMP 算法详解https://mp.weixin.qq.com/s/djtiucGJ4Sn_rxmPaHc0hA一些常用的算法技巧总结https://mp.weixin.qq.com/s/6JJdV9oXJznkGt4gSOlR9g经典面试题:最长回文子串https://mp.weixin.qq.com/s/iSVr5M0GNXzqmUHR-hGgAQ什么是并...原创 2020-06-02 15:12:46 · 152 阅读 · 0 评论 -
【天勤第七章】 图算法总结
框架:1.图的结构(1)邻接矩阵(1)定义邻接矩阵的数据结构,分两部分:邻接矩阵顶点类型(用来存储顶点信息比如编号、字符数据。不常用,因为编号信息意义不大,字符数据按题目要求来); 邻接矩阵表(包含一个二维数组,顶点个数,边个数);(2)先读取顶点个数n和边数e。然后对邻接矩阵的初始化,对于无权图,全部初始化为0,对于有权图的时候在循环里加一句判断,如果i==j,就...原创 2019-08-14 15:31:45 · 1857 阅读 · 0 评论 -
【天勤第六章】树与二叉树算法总结
1.二叉树的遍历算法(1)前中后序遍历递归算法:递归模版非递归算法:利用栈来实现,具体如下前序:根先入栈,然后做一个循环,出栈,再将右子树入栈,然后是左子树入栈,栈为空结束循环。中序:当前结点指向根节点,大循环:栈不为空且当前访问结点不为空,小循环:如果有左孩子则将其入栈,直到左孩子为空(遍历左子树),再判断栈是否为空,不为空的话就出栈,使指针指向栈顶元素并对其访问(访问根结点...原创 2019-08-02 15:04:29 · 669 阅读 · 0 评论 -
【天勤第五章】数组、矩阵与广义表算法总结
一位数组元素移动算法:设计一个算法,将A中所以非0元素依次移动到A数组的前端(T122.1)算法1:变量i和j,i指向当前非零元素,j依次指向数组中每一个元素,如果找到非零元素,则使i指向下一个元素,如果i和j不相等说明i所指元素为零元素,将i和j的值交换,j继续遍历下一元素,i则指向了当前最新非零元素。算法2:双端遍历法。i指向A[0],j指向A[n-1],当i<j时做whil...原创 2019-08-20 16:43:31 · 275 阅读 · 0 评论 -
【天勤第三章】栈和队列算法总结
链栈定义及操作假设为没有头结点的链栈定义:typedef struct LNode{ int data; struct LNode* next;}LNode;初始化:LNode* InitStack(){ return NULL;}判断栈是否为空:int IsEmpty(LNode* lst){ if(...原创 2019-08-16 15:22:13 · 545 阅读 · 0 评论 -
【基础知识】编程数学知识+常考知识点
1.公约数=公因数因子=因数=约数(含义相同)【解释】a/b 余数为0,称a能被b整除,a为倍数,b为约数。质数:比1大,除了1和自身外没有其他因数。质因数:为质数的质因数。公约数:a%b = 0, c%b = 0 成b是a和c的公约数最大公约数:a和c的多个公约数中最大的那个。最大公约数算法:辗转相除法【代码】/*求m和n的最大公约数*/int GCD(...原创 2019-08-29 20:47:14 · 760 阅读 · 0 评论 -
【C程序设计】排序组合问题
1.排列2.组合【题目】【编程题 99】原创 2019-09-01 20:16:27 · 212 阅读 · 0 评论 -
【编程题算法总结】C语言程序设计
【66题】总结求一个数的因数的方法:设这个数为n,从1到n/2,逐个去试,它小于等于这个数的一半;【67题】 递归反映栈的先进后出思想,先输入的后输出。【拓展】因为涉及到输入输出,同时反映出相关知识点:对于输入端,无论你输入多少字符,都暂时放入内存中,然后计算机再从内存中逐个读回来,当发现你输入的字符数不够的时候再要求你继续输入。【74题】移动数组的一个方法是利用另一个数组进行移动;其...原创 2019-08-11 22:47:08 · 232 阅读 · 0 评论