![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
木犀花香
子闻木樨香否
展开
-
Prime算法
prime算法是贪心算法中的杰出代表。原创 2013-12-06 16:17:19 · 989 阅读 · 0 评论 -
3D数学库的简单实现(C语言)
头文件vmath.h#ifndef _VMATH_H#define _VMATH_H#ifdef _cplusplusextern "C" {#endiftypedef float Matrix44f[16];void translate(Matrix44f M, float x, float y, float z);void scale(Matrix44f M,原创 2014-02-13 12:50:36 · 2135 阅读 · 0 评论 -
图的邻接表存储
#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDEDtypedef struct node{ int adjvertex; int weight; struct node* next;}*EdgeNode;typedef struct vertex{ int start; EdgeNode fir原创 2013-12-11 11:38:28 · 766 阅读 · 0 评论 -
AVL平衡树的实现
avltree.h#ifndef AVLTREE_H_INCLUDED#define AVLTREE_H_INCLUDEDtypedef int ElementType;struct avlnode;typedef struct avlnode *Position;typedef Position AvlTree;struct avlnode{ Elemen原创 2013-12-05 13:20:00 · 633 阅读 · 0 评论 -
插入排序
void InsertSort(int A[],int n){ int j,P; int temp; for(P=1;P<n;P==) { temp=A[P]; for(j=P;j>0 && A[j-1]>temp;j--) A[j]=A[j-1]; A[j]=temp; }}原创 2013-12-06 09:08:57 · 644 阅读 · 0 评论 -
dijstra算法
dijstra.h#ifndef DIJSTRA_H_INCLUDED#define DIJSTRA_H_INCLUDED #define MAXVEX 100 /**< 最多顶点数 */#define INFINITY 65535/**< 不存在该边是的权值 */ struct graph;typedef struct graph *Graph;typ原创 2013-12-05 20:13:27 · 995 阅读 · 0 评论 -
二叉查找树的部分例程
searchtree.h#ifndef SEARCHTREE_H_INCLUDED#define SEARCHTREE_H_INCLUDEDtypedef int ElementType;struct treenode;typedef struct treenode *Position;typedef Position SearchTree;struct treenod原创 2013-12-05 14:38:40 · 731 阅读 · 0 评论 -
栈的数组实现
stack2.h#ifndef STACK2_H_INCLUDED#define STACK2_H_INCLUDED/**< 栈的数组实现 */typedef int ElementType;struct stackrecord{ int Capacity; int TopOfStack; int *Array;};typedef stru原创 2013-12-04 16:14:15 · 572 阅读 · 0 评论 -
队列的链表实现
queue.h#ifndef QUEUE_H_INCLUDED#define QUEUE_H_INCLUDEDtypedef int ElementType;struct queuenode;typedef struct queuenode *Node;typedef Node QueuePtr;struct queuenode{ ElementTyp原创 2013-12-05 00:14:08 · 620 阅读 · 0 评论 -
单链表实现!
linklist.h#ifndef LINKLIST_H_INCLUDED#define LINKLIST_H_INCLUDEDtypedef int ElementType;struct linklist;typedef struct linklist *LinkList;typedef LinkList Position;/**< 函数如无返回值,且须改变原创 2013-12-03 23:37:47 · 596 阅读 · 0 评论 -
归并排序
#define SORT_H_INCLUDED#define MAXSIZE 1000typedef struct{ int R[MAXSIZE]; int length;} sqlist;typedef sqlist *Sqlist;void mergesort(Sqlist L);void msort(int s[],int t[],in原创 2013-12-01 23:21:53 · 527 阅读 · 0 评论 -
队列的数组实现
queue.h#ifndef QUEUE_H_INCLUDED#define QUEUE_H_INCLUDEDtypedef int ElementType;struct queuerecord;typedef struct queuerecord *Queue;struct queuerecord{ int Capacity; int Fro原创 2013-12-04 23:10:03 · 650 阅读 · 0 评论 -
归并排序的非递归实现
merge.h#ifndef MERGE_H_INCLUDED#define MERGE_H_INCLUDED #define MAXSIZE 1000typedef struct{ int R[MAXSIZE]; int length;} sqlist;typedef sqlist *Sqlist; void mergepass(int SR[原创 2013-12-05 14:53:42 · 570 阅读 · 0 评论 -
堆排序
heapsort.h#ifndef HEAPSORT_H_INCLUDED#define HEAPSORT_H_INCLUDED #define MAXSIZE 1000 typedef struct{ int R[MAXSIZE]; int length;}sqlist;typedef sqlist *Sqlist; void Swap(S原创 2013-12-05 14:47:33 · 563 阅读 · 0 评论 -
快速排序
#define MAXSIZE 10 typedef struct{ int r[MAXSIZE]; int length;}Sqlist; void Swap(Sqlist *L,int i,int j){ int temp =L->r[i]; L->r[i] =L->r[j]; L->r[j] =temp;}原创 2013-12-05 14:45:04 · 506 阅读 · 0 评论 -
栈的链表实现
stack1.h#ifndef STACK_H_INCLUDED#define STACK_H_INCLUDEDtypedef int ElementType;struct node;typedef struct node *PtrToNode;typedef PtrToNode Stack;int IsEmpty(Stack S);Stack Creat原创 2013-12-04 00:11:30 · 686 阅读 · 0 评论 -
图的邻接表存储,以及广度深度遍历
graph.h#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED/**< 图的邻接矩阵实现 */#define MAXVERTEX 100#define INFINITY 65535typedef char Vertex;struct graph;typedef struct graph *Graph;原创 2013-12-06 16:07:44 · 694 阅读 · 0 评论 -
递归的四大法则
1. 基准情形: 必须有某些基准情形,她无需递归即可解出。2. 不断推进: 对于需要递归求解的情形,每次递归调用都必须使得求解状况朝着基准情形推进。3. 设计法则: 假设所有的递归调用都能运行。4. 合成效益法则:在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性工作。 其中第四点在递归的效率中至为关键。这是为什么用递归实现斐波那契数列效率很原创 2014-03-26 14:23:15 · 2401 阅读 · 0 评论