自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【无标题】

11

2023-03-09 16:39:16 73

原创 121123

asd

2022-12-01 22:13:47 166

原创 imgimgimg

sadas

2022-12-01 15:56:01 118

原创 IO输入输出流

文件:保存数据的地方在e盘下 创建三个文件

2021-12-11 23:30:07 89

原创 二叉树(期末)

期末树的创建与先序遍历#include <string.h>#include <stdio.h>#include <stdlib.h>typedef struct BiTNode { char data; struct BiTNode *lchild,*rchild;} BiTNode,*BiTree;void InitBiTree(BiTree &T);void CreateBiTree(BiTree &T);void

2021-07-04 22:05:50 239

原创 每日一题

2021-02-25 16:20:46 86

原创 彻底搞清链表的判空条件

声明:以下头指针都是指向链表的第一个结点(有头节点就指向头结点,没有头节点就指向第一个存储数据的结点),并且默认一下头结点的数据域不存储数据信息1、单链表无头结点分析:带有头节点的链表若为空,只需要整条链表只剩一个头节点,这是和不带头节点的链表的一个很大的区别(不带头结点的链表若要为空,整个链表不能存在一个结点),怎样使带头节点的链表只剩一个头节点呢?只需要第一个存储数据的节点不存在即可,即头节点的后继结点不存在即可,所以只需要头节点的next指针域不存在即可(实质上使指向NULL),所以带头点的

2021-02-25 13:44:03 14027 8

原创 KMP算法

求解next的代码如下

2021-02-21 15:35:15 69

原创 每日一题

void reverse(SqList &L)双指针{ for(int i=0,j=L.length-1;i<j;i++;j--){ int temp=L.data[j]; L.data[j]=L.data[i]; L.data[i]=temp; }}

2021-02-19 12:17:37 56

原创 每日一题

int func(SqList &L){ int min=L.data[0]; if(L.length==0)return false; else{ for(int i=0;i<length;i++){ if(L.data[i]<min) min=Ldata[i]; } L.data[i]=L.data[length-1]; L.length--; return min; }}

2021-02-19 00:50:48 76

原创 栈和队列

栈和队列栈的逻辑结构栈的存储结构1、顺序结构2、链式结构栈的基本操作队列的逻辑结构队列的存储结构1、顺序结构2、链式结构队列的基本操作栈和队列的应用

2021-02-16 11:40:24 93

原创 树与二叉树基础知识及其代码

树与二叉树树的概念及性质树的存储结构树和森林的遍历二叉树的概念和性质二叉树的存储结构二叉树的遍历线索二叉树树与二叉树的相互转换树与二叉树的应用并查集二叉排序树平衡二叉树哈夫曼树一、 树的概念与性质(基础数学知识在此不予推导)树的结点数=边数+1=所有结点的度数+1度为m的树在第i层最多有m^i-1个结点二、树的存储结构双亲表示法:采用一组连续的存储空间,同时在每个结点中增设一个伪指针指向其父结点的数组下标(可对比静态链

2021-02-15 13:03:54 277

原创 顺序表和链表的比较

2021-02-14 23:32:58 102

原创 静态链表

静态链表静态链表的优点 静态链表可以不依赖指针保存数据 可以用数组下表模拟指针 保存数据的地址;建立静态链表前需要申请一块连续的空间,但可在一定程度上像链表一样存储使用静态链表的原因很多语言不支持指针,但要实现像链表的存储 就可使用静态链表来存储...

2021-02-14 23:31:19 98

原创 2019408统考数据结构算法设计题(每日一题)

设线性表 L= ( a1 , a2 , a… , an-2 , an-1 , a n ) 采用带头结点的单链表保存,链表中结点定义如下:typedef struct node {int data ;struct node* next ;} NODE ;请设计一个空间复杂度为 O ( 1 ) 且时间上尽可能高效的算法,重新排列 L 中的各结点,得到线性表 L’= ( a 1 , a n , a 2 , a n-1 , a 3 , a n-2 … ) 。要求:( 1 ) 给出算法的基本设计思想(

2021-02-14 14:24:12 1776

原创 408数据结构顺序表

线性表1、定义:n个具有相同特性的数据元素的有限序列2、线性表的顺序存储:顺序表顺序表的类型描叙typedef struct Node{ Elemtype data[Maxsize]; int length;}Sqlist;(静态分配)Sqlist L;L.data[0]=val;L.length=1;typedef struct { Elemtype *data; int length;}Sqlist;(动态分配

2021-02-13 23:47:06 217

原创 2021.2.13考研408每日一题

typedef struct Node{ int data; struct Node *link;//链表结点的定义}LNode,*linklist;void func(lisklist &L,int n){ LNode *p=L->link,*r=NULL; int *q=(int *)malloc(sizeof(int)*n+1);//申请n+1个辅助空间 for(int i=0;i<n+1;i++){ *(q+i)=0;//数组全都初始化为0 } whi.

2021-02-13 13:21:41 160

原创 2021.2.1408数据结构每日一题

法一(暴扫)(嵌套循环)Lisklist search(Lisklist str1,Lisklist str2){p=str1->next,q=str2->next;while(p){ p=p->next; while(q){ if(q->data==p->data)return q; q=q->next; } q=str2->next;}if(!p)return 0;}法二(时间复杂度很小只需要遍历一次)int length.

2021-02-12 12:18:48 252

原创 2021.2.11每日一题

代码及注释如下typedef struct node{ int data; struct node *next;}LNode,*Lisklist;void Search(Lisklist L){ LNode *p=L->next,*q=L,count=1; while(p){ if(count<k){//没移动到正数的位置时 count++; p=p->next; } else{ p=p->next;//到达正数k后双指针保持k的距离移动 q.

2021-02-11 11:49:40 88

原创 408数据结构考研线性表考点

线性表考研8大考点存储结构的特性对比元素移动次数计算和静态链表线性表的插入和删除建表逆置表取最值划分归并

2021-02-10 17:06:55 417

原创 202.2.10每日一题(顺序表的逆置)

(1)

2021-02-10 17:02:36 124 1

原创 时间复杂度分析

定义: 一般情况下,算法基本操作执行的次数是随问题规模(n)的一个函数f(n),而时间复杂度则为此函数的量级T(n)=O(f(n))void f(n){printf("hello")}上段代码可看出当传入n的值不同时,打印的结果也不一样,且n问题规模n越大,打印这一操作执行的次数越多,即时间时间复杂度越大,即上述代码的时间复杂度为O(n)。以上是定义 考研还是只需要会做题就行,现在说下求时间复杂度的两种做题方法列出来归纳设t法(t指的是运行的次数)计算一下程序函数的时间复杂度1、

2021-02-10 13:43:43 978

原创 oj链表链式存储

1327: 线性表-链式存储//#include<iostream>#include <stdio.h> #include <stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0 using namespace std;typedef int Status;/* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int ElemType;/*

2021-02-09 15:49:28 96

原创 2021.2.9---每日一题

代码及关键注释如下:void DeleteNode(Lisklsit &L){ LNode*p=L->next,*pre=L,*minp=L->next,*minpre=L;//定义四个指针 /* p指针用来遍历链表,minp指针存储最小值,即当怕扫描到较小的值是minp会指向p,便于删除最小值结点,删除结点(为保证不断链需要知道p和minp的前驱)所以定义pre和minpre两个指针 */ while(L->next!=L){//因为是反复删除表中最小结点所以L不.

2021-02-09 13:16:12 110

原创 快排过程分析

快排代码(建议写出一些数 对照代码理解 更容易理解掌握)#include<iostream>using namespace std;void quick_sort(int arry[],int l,int r)//l和r为数组下标{ int left=l,right=r;//相当于两个指针left从左开始,right从右面开始 int pivot=arry[left];//;以第一个下标的数作为中间值,大于或者等于pivot的放右边,小于或者等于放左边 if(left>=r

2021-02-08 22:46:29 76

原创 顺序表链表的各种操作

每日N题typedef struct{//顺序表的结构体 int length; int *data;}Sqlist;typedef struct node{//节点的结构体 int data; LNode*next,*prior;}LNode,*Lisklist; 1、在带头节点的单链表L中,删除所有值为x的节点,并释放空间,假设值为x的结点不唯一,编写算法实现操作void deletelist(Linklist &L, Elemtype x).

2021-02-08 21:55:27 118

空空如也

空空如也

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

TA关注的人

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