自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Householder的Matlab代码

function H = Householder(x) n = length(x); H = eye(n); if (abs(x(1))<eps)|(x(1)>0) s = 1; else s = -1; end x(1) = x(1)+sqrt(x'*x)*s; if abs(x'*x)>eps H = H-x*x.'*2/(x'*x); endend

2020-05-23 18:01:23 2781 1

原创 两栈空间的删除

//若栈不空,就删除栈顶元素,用e返回其值,否则返回ERROR。Status Pop(SqDoubleStack *S, SElemType *e, int StackNumber){if(StackNumber==1){ if(S->top1==-1) return ERROR; *e=S->date[top1- -];}else if(StackNumber==2){if(S->top2==MAXSIZE) return ERROR; *e=S->da

2020-05-23 17:56:04 158

原创 两栈共享空间的插入

//插入元素e为新的栈顶元素Status Push(SqdoubleStack *S,SElemType e, int stackNumber){if (S->top+1==s->top2)return ERROR;if (StackNumber==1)S->date[++S->top1]=e;else if (StackNumber==2)S->date[- -S->top2]=e;return ok;}...

2020-05-23 17:55:23 195

原创 栈的递归运用-斐波那契数列

int Fbi(int i){ if (i<2)return i==o ? 0:1;return Fbi (i-1)+Fbi(i+2);}int main(){int i;for(int i=0;i<40;i++)printf(“%d”,Fbi(i));return 0;}

2020-05-23 17:54:05 492

原创 树的抽象数据类型,实用操作

ADT 树(tree)Date树是由一个根结点和若干颗子树构成。树中结点具有相同数据类型及层次关系。OperationInitTree(*T):构造空树T。DestroyTree(*T):销毁树T。CreateTree(*T,definition):按definition中的定义给出树。ClearTree(*T):若树存在,则将树T清为空树。TreeEmpty(T):若T为空树,则返回ture,否则返回false。Tree depth(T):返回T的深度。Root(T):返回T的根结点。

2020-05-23 17:52:41 548

原创 树的存储结构之双亲表示法

#define MAX_TREE_SIZE 100typedef int TElemType;typedef struct PTNode{TelemType date;int parent;}PTNode;typedef struct{PTNode nodes[MAX_TREE_SIZE];int r,n;}PTree;

2020-05-23 17:51:40 291

原创 树的孩子表示法

#define MAX_TREE_SIZE 100typedef struct CTNode //孩子结点{ int Child;struct CTNode *next;}*ChildPtr;typedef struct //表头结构{TElemType data;ChildPtr first child;}CTBox;typedef struct

2020-05-23 17:50:46 330

原创 二叉树的建立

void CreatBiTree(BiTree *T){TElemType ch;scanf(‘%c”,&ch);if(ch==“#”)*T=NULL;else{*T=(BiTree)malloc(sizeof(BiTNode));if(!*T)exit(OVERFLOW);(*T)->data=ch;CreatBiTree(&(*T)->lchild);CreatBiTree(&(*T)->child);}}

2020-05-23 17:50:02 88

原创 暴力匹配算法,首尾匹配算法,KMP算法

//10170330 容易#include <cstdio>#include <iostream>#include <cstring>#define ERROR 0#define MAXSIZE 100using namespace std;//串的暴力匹配算法(brute force)//该函数的作用是返回子z串T在S中第position个字符之后的位置//时间复杂度为o(mn),其中m和n分别是文本串和模式串的长度//当m和n都是10^ 5级别时

2020-05-23 17:46:37 358

原创 队列的抽象数据类型

ADT 队列(Queue)Date同线性表。元素具有相同的类型,相邻元素具有前驱和后继关系。OperationInitQueue(*Q):初始化列表,建立一个空队列Q。DestroyQueue(*Q):若队列Q存在,则销毁它。ClearQueue(*Q):将队列Q清空。QueueEmpty(Q):若队列为空,则返回‘ture’。GetHead(Q,*e):若队列存在且非空,返回队列的头元素。EnQueue(*Q,e):将e插入到队列的队尾。DeQueue(*Q,*e):删除队列Q的头元素

2020-05-22 21:16:17 1024

原创 单链表的整表删除

1.声明一结点p和q2.将第一个结点的值赋值给p3.循环: 将下一个结点的值赋给q 释放p的内存 把q结点赋给pstatus ClearList(LinkList *L){ LinkList p,q; p=(*L)->next; int j,i; for(j=1;j<length(*L);J++){ q=p->next; free(p); p=q;}(*L)->next=NULL;re

2020-05-22 21:15:44 106

原创 单链表的整表创建(头插法)

1.声明一结点和计数变量n。2.初始化一个空链表。3.声明一个带头节点的链表(即让Ld头节点的指针指向NULL)4.循环: *生成一个新节点赋值给p。 *随机生成一个数字赋值给P的数据域。 *不断将p插入到头节点与新一个节点之间。void CreatListHead(Linklist *l,int n){Linklist p; int i; srand(time(0)); *L=(LinkList)malloc(sizeof(Node)); //意思是动态分配一个空线性表. (*L)

2020-05-22 21:15:07 205

原创 单链表的删除

//伪代码//容易Status(Linklist *L, int i, ElemType *e){ int j=1; Linklist p,q; while((p->next)&&j<i){p=L->next; ++j;}if((!(p->next)) || j>i)return ERROR;q=p->next;p->next=p->next->next;*e=q->date;free(q);retu

2020-05-22 21:14:16 72

原创 串的index实现算法

//容易//T为非空串。若主串S中第pos个字符之后存在与T相等的子串。//则返回第一个这样的子串在S中的位置,否则返回0.int Index(String S,String T, int pos ){ int n,m,i; String sub; if(pos>0){n=StrLength(S);m=StrLength(T);i=pos;while(i<=n-m+1){ SubString(sub,S,i,m)//取主串第i个位置,长度与T相等的子串给Sub if

2020-05-22 21:13:17 1248

原创 串的抽象数据类型

//容易ADT 串(string)Data 串中元素仅由一个字符组成,相邻元素具有前驱和后继关系Operation StrAssign(T,*chars):生成一个其值等于字符串常量chars的串T。 StrCopy(T,S):串S存在,由串S复制得串T。 ClearString(S):串S存在,将串清空。 StringEmpty(S):若串为空,则返回true,否则返回false。 StrLength(S):返回S的元素个数,

2020-05-22 21:12:26 669

原创 建立无向网图的领接矩阵表示

//容易void CreateMGraph(MGraph * G){int i,j,k,w;printf(“输入顶点数和边数:\n”);scanf(“%d,%d”,&G->numVertexes,&G->numEdges); //输入顶点数和边数for(i=0;i<G->numVertexes;i++)scanf(&G->vexs[i]);for (i=0;i<G->numVertexes;I++) for(j=0;j&l

2020-05-22 21:10:43 308

原创 学生排序问题

//容易#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;struct student { char id[10]; //学号 char name[20]; //学生姓名 int stu_class; //学生班级 int score; //学生成绩}stu[20];bool cm

2020-05-22 21:07:52 257

原创 任意数制转换

//容易//数制转换#include<cstdio>#include<stack>using namespace std;void Number_system_conversion(int m,int N){ stack<int> S; //定义一个栈S while(m)//当输入的数非空时 { S.push(m%N);//将输入的数除以需要转换的进制的余数入栈 m=m/N; } whi

2020-05-22 21:06:16 190

原创 循环队列和链队列

//容易#include<cstdio>#include<cstdlib># define OK 1#define ERROR 0#define MAXSIZE 100typedef int Qelemtype;typedef int status;//可根据需要随时改动Qelemtype和status的类型//循环队列的顺序存储结构typedef struct{ Qelemtype data[MAXSIZE]; int front; i

2020-05-22 21:04:51 154

原创 线性表各种基本操作实现代码

//容易//线性表各种基本操作实现代码#include<cstdio>#include<cstring>#include<cstdlib>#include<ctime>#define ElemType int#define Status int#define ERROR 0#define OK 1using namespace std;typedef struct Node{ ElemType data;//单链表结点的数据.

2020-05-22 21:03:34 5100 1

原创 冒泡排序,简单选择排序,直接插入排序,归并排序,快速排序算法

//各种排序算法的实现//容易//2020/4/12#include <cstdio>#include<cstdlib>#define MaxSize 100typedef int ElemType;typedef struct SqList{ int data[MaxSize]; int length;}SqList;//简单选择排序//对一个序列a中的元素按从小到大进行选择排序void selectsort(int a[]){

2020-05-22 21:01:59 1661

原创 Gauss型求积公式及其Matlab程序

为什么要引入数值积分由于Gauss型求积公式属于数值积分的内容,学东西总要知道它的来龙去脉,下面我简单介绍一下为什么要引入数值积分给定函数f(x)∈C[a,b]f(x)\in C[a,b]f(x)∈C[a,b],考虑积分I(f)=∫abf(x)dxI(f)=\int_{a}^{b} f(x) dxI(f)=∫ab​f(x)dx的计算问题,从数学分析中知道,当已知f(x)f(x)f(x)的原...

2019-12-05 08:48:27 21634 2

原创 Lagrange插值函数及其Matlab代码

一.为什么要引进插值函数在实际问题中,两个变量的关系y=f(x)经常要 靠实验和观测来获得,而在通常的情况下只能得到f(x)在有限个点上的值 =(), i=0,1,2,...,n人们希望找到f(x)的一个近似函数y=(x),使得 ...

2019-11-29 19:31:39 7225

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除