- 博客(12)
- 资源 (2)
- 问答 (3)
- 收藏
- 关注
原创 排序汇总
排序算法即是一种能将一串数据依照特定排序方式进行排列的一种算法。本文将简单介绍几种常用的排序算法,并给出源代码,仅供参考。1.直接插入排序:是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐
2015-05-18 19:27:44 579
原创 最短路径:Dijkstra算法和Floyd算法
最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。算法具体的形式包括: 1.确定起点的最短路径问题:即已知起始结点,求最短路径的问题。适合使用Dijkstra算法。 2.确定终点的最短路径问题:与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题
2015-05-16 11:27:53 6612
原创 最小生成树:prim算法和kruskal算法
一个连通图的生成树是图的极小连通子图。它包含图中的所有顶点,并且只含尽可能少的边。若砍去它的一条边,就会使生成树变成非连通图;若给它增加一条边,则会形成一条回路。最小生成树有如下性质:1.最小生成树非唯一,可能有多个最小生成树;2.最小生成树的边的权值之和总唯一,而且是最小的;3.最小生成树的边数为顶点数减1。构造最小生成树可以有多种算法。其中多数算法利用了最小生成树的下列一种
2015-05-14 18:57:03 2835 3
原创 图的遍历:BFS和DFS
图的遍历是指从图中的某一顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点进行访问且仅访问一次。图的遍历是图的一种最基本的操作,其他许多操作都是建立在图的遍历操作基础之上。 图的遍历只要有两种:广度优先搜索和深度优先搜索。这里图是以邻接表结构存储。源代码如下:#include "stdio.h"#include "malloc.h"typedef struct
2015-05-12 18:38:33 558
原创 图的邻接表存储
图有多种存储方式,这里仅介绍较为常用的邻接表存储。源代码如下:#include "stdio.h"#include "malloc.h"typedef struct Node //边表结点结构体定义{ int adjvex; struct Node *next;} Node, *ANode;typedef struct
2015-05-12 18:26:42 390
原创 二叉排序树
二叉排序树的创建、插入结点,并以中序遍历输出。#include "stdio.h"#include "malloc.h"typedef struct TNode{ int data; struct TNode *lchild, *rchild;}TNode, *BST;void create(BST &T); //创建根结点void insert(
2015-05-11 18:58:17 332
原创 求森林叶子结点数
本文以孩子兄弟表示法存储森林,列出求森林叶子结点的递归与非递归算法。#include "stdio.h"#include "malloc.h"typedef struct CSNode{ int data; struct CSNode *lchild, *rbrother;}CSNode, *Tcsnode;typedef struct{ Tcsnode data[50];
2015-05-08 20:48:48 3904 1
原创 求二叉树宽度
求二叉树宽度算法void width(Tree T) //求二叉树宽度{ int w = 0, wmax = 1, last = -1; Tree p; queue q; q.front = q.rear = -1; if(T == NULL) printf("该二叉树宽度为0!\n"); else { q.data[++q.rear] = T
2015-05-08 17:29:36 643 2
原创 二叉树链式存储及相关操作
先序创建二叉树、后序递归遍历二叉树、中序非递归遍历二叉树、层次遍历二叉树、非递归算法求二叉树深度、递归算法求二叉树深度、求分支结点个数、判断是否为完全二叉树、先序遍历第k个结点的值、删除值为k的结点及其子树。#include "stdio.h"#include "stdlib.h"#include "malloc.h"typedef struct TNode //二
2015-05-07 23:26:05 567
原创 系统总线
2.1总线概述计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接。总线是连接多个部件的信息传输线,是各部件共享的传输介质。在某一时刻,只允许有一个部件向总线发送信息,但多个部件可以同时从总线上接收相同的信息。2.2 总线的分类总线应用很广泛,从不同角度可以有不同的分类方法。按数据传送方式可分...
2015-05-07 14:57:29 1176
原创 线性表链式存储
线性表链式存储结构的创建、删除最小值结点(值唯一)、删除某个指定值(不唯一)、就地逆置、反向输出、递增排序、删除重复结点、根据奇偶序号划分成两个带头结点的单链表。 #include "stdio.h"#include "stdlib.h"typedef struct LNode{ int data; struct LNode *next;}LNode, *llist;
2015-05-07 14:47:27 389
原创 线性表顺序存储
线性表顺序存储结构的创建、插入结点、删除结点、就地逆置。#include "stdio.h"#include "malloc.h"typedef struct{ int data[30]; int length;}slist, *List;void init(List); //线性表初始化void insert(List S,
2015-05-07 14:33:59 345
AE脚本设计参考手册(After-Effects-CS6-Scripting-Guide)
2022-09-08
在springmvc和mybatis框架下根据id批量删除
2017-03-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人