数据结构
文章平均质量分 65
考研数据结构复习
慢慢``
这个作者很懒,什么都没留下…
展开
-
AVLTrees
AVL树的旋转,插入,删除操作原创 2022-09-11 17:27:25 · 237 阅读 · 0 评论 -
1105 Spiral Matrix
题目#include <iostream>#include <bits/stdc++.h>using namespace std;bool cmp(int a,int b){return a>b;}int n;int main(){ cin >> n; vector<int> a; int tmp; for(int i = 0;i < n;i++){ cin >> tmp原创 2022-02-13 20:25:52 · 253 阅读 · 0 评论 -
1102 Invert a Binary Tree
题目解法使用静态链表构建二叉树用IsVisited数组保存所有的非根节点,遍历该数组就可得到根节点写层序遍历函数,只是先检查右子树,再检查左子树写中序遍历函数,也是先递归右子树,再递归左子树#include <iostream>#include <bits/stdc++.h>using namespace std;int N;struct Node{ int left,right;}A[11];bool IsVisited[11];vector&原创 2022-01-15 19:05:59 · 267 阅读 · 0 评论 -
1101 Quick Sort
1101 Quick Sort题目暴力办法:根据快排的思路,扫描数组,依次判断当前元素是否是主元#include <iostream>#include <bits/stdc++.h>using namespace std;const int MAXN = 1e5;int A[MAXN] = {0};vector<int> res;int N;int main(){ ios::sync_with_stdio(0),cin.tie(0),cout原创 2022-01-05 21:57:18 · 697 阅读 · 0 评论 -
算法探究6-K个一组翻转链表
常规题目来源:LeetCode-25-K个一组翻转链表思路:给已知链表加一个头节点HairHairHair(官方的代码还挺有趣)找出需要翻转的链表的头指针和尾指针(尾指针需要从头指针向后扫描K个,若不满足,则不翻转)保存尾指针的下一个节点地址nexnexnex,不然等这一段翻转结束后链表就串不起来了进入翻转函数进行翻转,这里使用了C++17的一个新功能,返回了一个用tie()tie()tie()函数组合的pairpairpair(一般函数的返回值只能是一个值,而这里同时返回翻转后链表的头指针和原创 2021-08-25 20:53:20 · 103 阅读 · 0 评论 -
算法探究2--多项式的乘积与和
多项式成绩原创 2021-06-29 21:19:42 · 616 阅读 · 0 评论 -
算法探究1--最大子列和问题
算法二:#include<iostream>using namespace std;int MaxSubseqSum2(int A[],int N){ int ThisSum = 0,MaxSum = 0; int i,j; for(i = 0;i < N;++i) { ThisSum = 0; for(j = i;j < N;++j) { ThisSum += A[j];原创 2021-06-24 19:04:33 · 270 阅读 · 0 评论 -
1. 线性表的顺序存储
顺序表的定义用一片连续的存储空间存放线性表,也就是逻辑上相邻的元素,在物理地址上也是相邻的假设线性表L存储的起始位置为LOC(A)LOC(A)LOC(A),每个数据元素占用的内存空间为sizeof(ElemType)\rm sizeof(ElemType)sizeof(ElemType),则存储结构图为数组下标顺序表内存地址0a1a_1a1LOC(A)LOC(A)LOC(A)1a2a_2a2LOC(A)+sizeof(ElemType)LOC(A)+\rm原创 2020-08-07 22:00:57 · 224 阅读 · 0 评论 -
第一节 线性表的定义及基本操作
线性表的定义线性表是具有相同数据类型的nnn个数据元素的有序序列,其中nnn为表长,当n=0n=0n=0时,线性表是一个空表。若用LLL命名线性表,则其一般表达式为:L=(a1,a2,⋯ ,ai,ai+1,⋯ ,an)L=(a_1,a_2,\cdots,a_i,a_{i+1},\cdots,a_n)L=(a1,a2,⋯,ai,ai+1,⋯,an)a1a_1a1a2a_2a2⋯\cdots⋯aia_iaiai+1a_{i+1}ai+1⋯\cdots⋯an−1a原创 2020-08-07 19:05:29 · 232 阅读 · 0 评论 -
第三节 算法相关题目
时间复杂度解题技巧本内容摘自王道数据结构,主要可以将问题分为两类:一类为主循环语句参与循环判断,另一类为主循环语句不参与循环判断主循环语句参与循环判断此类问题需要找出主体语句中与T(n)成正比的循环变量,将之带入条件中进行计算1 int i =1; while(i <= n) i = i*2;i×2i × 2i×2的次数正是主体语句的执行次数ttt ,因此有2t≤n2^t ≤n2t≤n,因此t≤log2nt≤log_2nt≤log2n,则T(n)=O(log2n)T原创 2020-08-03 15:25:43 · 468 阅读 · 0 评论 -
第二节 算法概念及其评价
算法概念对特定问题求解步骤的一种描述,是指令的有限序列,其中的每个指令对应一个或多个操作。(简单来说,就是解决一个实际问题,你想怎样去解决它,将这个想法从头到尾描述下来,就是算法)算法的特征有穷性:算法可以在有限步骤内完成,程序不属于算法1,操作系统也不属于算法2确定性:同样的输入要能得到同样的输出结果可行性:使用现有的指令进行组合来实现算法的功能输入:算法可以有零个或多个输入输出:算法可以有一个或多个输出“好”算法的标准正确性:算法设计出来就是要发挥作用的,如果设计出来就是原创 2020-08-02 15:04:41 · 268 阅读 · 0 评论 -
数据结构目录
此文章用于链接所有数据结构章节第一章 数据结构概述第一节 数据结构相关术语与数据结构三要素第二节 算法概念及其性能分析原创 2020-07-31 21:33:10 · 391 阅读 · 0 评论 -
第一节 数据结构基本术语与数据结构三要素
数据结构基本术语数据所有能输入到计算机供计算机进行处理的符号的集合,比如数字,字符,甚至于声音,图片等都是数据。数据元素可以理解为数据的一个单位,就比如数据库中的一条记录就是数据元素,或者是页表中的一个表项也是数据元素。数据项数据项是最小的,不可继续分割的数据单位,如数据库中一条记录中的对应的一项。数据对象性质相同的数据元素的集合,是数据的子集,如整数集N={0,±1,±2…}数据结构数据与数据之间的关系定义为:Data_Struct = (D,S),D为数据元素的有原创 2020-07-31 21:30:22 · 456 阅读 · 0 评论