数据结构一些算法实现
通过学习小甲鱼数据结构与算法,分享和学习其中一些算法代码具体实现。
向往的地中海
To be a problem solver !
展开
-
c语言实现贪吃蛇小游戏
安装有gcc编译器。原创 2024-06-28 00:13:09 · 203 阅读 · 0 评论 -
数据结构与算法思维导图(目录)
(小甲鱼)数据结构与算法(全99讲完结版)学习刷完纪念。下面是总结的学习内容思维导图。原创 2021-08-18 15:23:41 · 671 阅读 · 0 评论 -
C语言实现平衡二叉树-来源小甲鱼
源码/* 平衡二叉树 (难)*/#include<stdio.h>#include<stdlib.h>#define LH 1 //左子树高了#define EH 0 //左右子树等高#define RH -1 //右子树高了typedef int Status; //Status是函数的类型,其值是函数结果状态代码,如OK等 #define TRUE 1#define FALSE 0// #define Status booltypedef struct原创 2021-07-19 21:49:10 · 215 阅读 · 2 评论 -
二叉树建立是指针的使用
二叉树结构体指针的用法结构体typedef struct BiTNode{ElemType data;struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;//两种命名方式,效果,BiTree 等价于 BiTNode *;两种创建引用方式。01:int InsertAVL(BiTree* T,int e,int *taller){ //taller变量存放,增加一个结点后,这棵树长高了没有,长高了就不平衡了。 if(!*T)原创 2021-07-19 19:51:44 · 332 阅读 · 0 评论 -
二叉排序树插入,查找,删除操作
二叉排序树二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树性质:左子树<根<右子树。(比较的是值)。中序遍历结果是有序的。示例图(图来自小甲鱼学习视频)插入操作1:若二叉树为空,首先单独生成根节点。2:插入值与根值比较,若前者小插入到左子树当中。若前者大,插入到右子树当中。代码:void insert(BiTree* tree, int value)//创建树{ BiTNode* node=(B原创 2021-07-18 20:09:07 · 2162 阅读 · 3 评论 -
查找算法之斐波那契查找
斐波那契查找(黄金分割查找)黄金分割点:黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。比值约0.618。斐波那契数列利用斐波那契数列特性进行查找来源:小甲鱼视频学习。代码:/* *斐波那契查找(黄金分割查找)*/#include <stdio.h>#include <stdlib.h>#define MAXSIZE 20void fibonacci(int *f) //使用递推关系生成斐波那契数列{原创 2021-07-06 20:30:27 · 102 阅读 · 0 评论 -
假设以下有一个结构体存放的是学生的记录,每条记录包括:学号、姓名、成绩
题目(来源小甲鱼):假设以下有一个结构体存放的是学生的记录,每条记录包括:学号、姓名、成绩,请编写一个程序,要求输出1028编号同学的具体信息。学号姓名成绩1024小甲鱼1001026王先生1001028岳女士1001030谢导师100源代码(C语言):#include<stdio.h>#include<stdlib.h>#define MAXSTR 10 //字符串长度最多10;typedef stru原创 2021-07-06 11:18:06 · 1294 阅读 · 0 评论 -
最短路径之floyd算法c语言实现
最短路径之floyd算法简介原理:用数组的形式存放每对顶点的最短路径长度。辅助向量:D[][]用来存放带权长度。P[][]用来存放前驱顶点一个测试用例核心代码 for(k=0;k<G.numVertexes;k++) { for(v=0;v<G.numVertexes;v++) { for(w=0;w<G.numVertexes;w++) { if((*原创 2021-07-05 19:28:33 · 974 阅读 · 1 评论 -
迪杰斯特拉算法c语言实现
迪杰斯特拉算法c语言实现简介测试用例,一个无向图源码测试结果简介原理:路径长度依次递增原理。辅助向量:D[]:记录带权长度。每一轮都在向小的值或者不变的值更新。P[]用来存放前驱顶点。final[]用来存放某顶点是否已经进入S(已经求得最短路径的顶点集合)集合。测试用例,一个无向图其邻接矩阵图:源码/*************************最短路径之dijkstra*D[]用来存放带权长度。每一轮都在向小的值或者不变的值更新。*P[]用来存放前驱顶点*final[原创 2021-07-04 18:45:51 · 1027 阅读 · 0 评论