当前位置: 首页 > news >正文

wap手机网站建设制作开发php网站上做微信支付功能

wap手机网站建设制作开发,php网站上做微信支付功能,wordpress impreza,wordpress安装500错误目录 一、顺序表#xff08;数组#xff09;和链表总览 二、考情分析 2.1 从历年考情可以看出#xff0c;如果一个方法出现了第2次#xff0c;一般是以下情况#xff1a; 2.2 没有考过的地方 三、 共同操作或考法 3.1 多指针后移 3.2 逆置 3.3 空间换时间的操作 3.…目录 一、顺序表数组和链表总览 二、考情分析 2.1 从历年考情可以看出如果一个方法出现了第2次一般是以下情况 2.2 没有考过的地方 三、 共同操作或考法 3.1 多指针后移 3.2 逆置 3.3 空间换时间的操作 3.4 只保留首次出现的元素共同考法 3.4 排序 四、独有操作或考法 4.1 在顺序表中遍历找到符合要求的元素并删除 4.2 判断单链表是否存在环 4.3 找到两个链表中的共同结点 红色字体为线性表的共同操作 蓝色背景为下文有模板。绿色字体为统计的考频分析易想到不饶弯子的 一、顺序表数组和链表总览 第一步看到题目分析情况 多指针后移                    2010较优解 2020年最优解三指针以空间换时间                2018排序或排序后利于操作 2013较优解 2016暴力解逆置                              2010最优解三次逆置折半查找                       2011最优解删除、插入只保留首次出现的元素第二步分析坑  表长是奇数或偶数时需讨论空表怎么处理第一步看到题目分析情况 多指针后移以空间换时间     2015排序头插法逆置         2019 前后指针            2012最优解快慢指针只保留首次出现的元素第二步分析坑 头插法是逆序建立链表尾插法是正序建立链表单链表只能向后查找故可能需要前驱指针不可修改链表结构有free()操作需malloc()结点 注意是否有头结点不同于数组改变下标链表是pp-next本质一样二、考情分析 2.1 从历年考情可以看出如果一个方法出现了第2次一般是以下情况 升级版。2011年能用二指针后移2020年需要设置三指针后移。数组考过换到链表考。如2015年和2018年都是以空间换时间太过重要。如快排是某一年的解的一部分。2013年是较优解2016年是暴力解。2.2 没有考过的地方 数组的插入删除链表的多指针后移不使用数组进行链表排序。都具有很大的考察可能。 202120222023年为图二叉树图。201820192020年都是线性表2024年很可能回归线性表。 三、 共同操作或考法 3.1多指针后移 条件多个线性表有序。 归并链表或数组使之有序。归并的升级操作找到两个序列中的相同元素或其他本质仍是比大小改变的是比的内容或对结果的操作。 多指针后移常用于有序线性表顺序表和链表都可以如果考试中给出有序的线性表优先考虑这种方式这种方式可以用于合并多个有序线性表、查找共同排序后第k个大小的元素等等归并排序就是用到了这种思想。 归并两个升序数组                         void Merge(int A[], n, B[], m){  //数组A、B长度分别为n、mint C[nm]; //新数组int papbk0;                  //pa、pb作为遍历A、B的下标while (pan  pbm)              //直到有一个数组遍历完if (A[pa]B[pb])                //将小的那个数存入C数组C[k]A[pa];else C[k]B[pb];for (; pan; i)C[k]A[pa];                  //将A中剩余的数存入C数组for (; pbm; j)C[k]B[pb];                  //将B中剩余的数存入C数组 } 归并两个升序链表结果存放在LA中使之降序。 void MergeList LinkList LaLinkList Lb{ LNode *paLa-next,*pbLb-next; //分别是工作指针 LNode *r//头插法防止断链需要的指针 La-nextNULL; //结果链表初始化为空 while(paNULLpbNULL) ifpa-datapb-data{ rpa-next; //r暂存pa的后继指针 pa-nextLa-next; La-nextpa; par //恢复pa为当前待比较结点 } else{ rpb-next; //r暂存pb的后继指针 pb-nextLa-next; La-nextpb; pbr //恢复pb为当前待比较结点 } if(pa!NULL) pbpa //pa不空的将原La剩余元素继续前插进结果链表La这里用到了一个小技巧 while(pb!NULL){ //pb不空的话将Lb剩余元素继续前插进结果链表La rpb-next; pb-nextLa-next; La-nextpb; pbr; } free(Lb); //将最后只剩下的一个Lb头结点free掉 } 归并两个升序链表结果存放在LA中使之升序 void Merge(LinkList *La, *Lb){      LNode *paLa-next, *pbLb-next; //pa、pb指向L1、L2第一个元素LNode *rLa;                 //新链表头节点为Lar指向末尾LNode *par, *pbr;                //用来暂存pa-next和pb-nextwhile (pa!null pb!null)    //直到有一个链表遍历完if (pa-datapb-data){     //将小的那个数存入新链parp-next;            //par为pa下一个元素r-nextpa;             //pa插入到r后面pa-nextNULL;          //这是新链最后一个元素rpa;                   //尾指针r指向最后一个元素papar;                  //pa指向pa下一个元素}else{ pbrpb-next;            //pbr为pb下一个元素r-nextpb;             //pb插入到r后面pb-nextNULL;          //这是新链最后一个元素rpb;                   //尾指针r指向最后一个元素pbpbr;                  //pb指向pb下一个元素}if (pa!null)r-nextpa;                //将剩余部分连到r后面if (pb!null)r-nextpb;                //将剩余部分连到r后面//La是合并后的升序链表注意最后此时r已经不是指向新链表尾元素的指针了3.2逆置 顺序表 数组可以任意下标到任意下表逆置 void Reverseint low,int high,Sqlist *L{ElemType temp;  //用于暂存forint i0;i(high-low1)/2;i{//注意边界条件交换对应位置元素tempL.data[low];L.data[low]L.data[high];L.data[high]temp;}} 链表 链表用头插法逆置 LinkList ReverseLinkList L{LNode *p*r //p为工作指针r为p的后继结点指针pL-next;L-nextNULL;      //先断开头结点while(p!NULL){    rp-next;p-nextL-next;  L-nextp;   //将p结点插入到头结点后第一个结点插入时即为尾结点pr;                       //工作指针后移}return L} 3.3 空间换时间的操作 空间保存状态。原序列最多只有n种情况设置一个大小为n初始值为0的数组A[n-1]用于保存这些情况。遍历一遍序列将出现的情况对于的数组置1。 3.4 只保留首次出现的元素共同考法 顺序表课后第06题 链表课后第12题 3.4 排序 传统数组排序 快速排序的平均时间复杂度是O(nlogn)平均空间复杂度是O(logn)是考试中最快的不稳定排序算法一般要用到排序时都使用快速排序。快速排序的最坏时间复杂度是O(n2)最坏空间复杂度都是O(n)但我们只需要加一个小优化就能避免最坏情况即随机选择一个元素作为枢值。优化后最坏时间复杂度O(nlogn)最坏空间复杂度O(logn)。 注快速排序有很多写法交换式和挖坑式不同写法中间过程不一样但只要能实现排序即可本代码适用于算法大题方便记忆 代码如下  void Qsort(int A[], L, R){           //a数组保存数据L和R是边界if (LR) return;              //当前区间元素个数1则退出int pivot, iL, jR;             //i和j是左右两个数组下标移动把A[L~R]中随机一个元素和A[L]交换   //快排优化使得基准值的选取随机pivotA[L];                     //pivot作为基准值参与比较while (ij){while (ij  A[j]pivot)j--;while (ij  A[i]pivot)i;Rif (ij)swap(A[i], A[j]);       //交换A[i]和A[j]}swap(A[L], A[i]); //将基准值放入他的最终位置 /*此时A[L~i-1]A[i]A[i1~R]*/Qsort(A, L, i-1);          //递归处理左区间Qsort(A, i1, R);           //递归处理右区间} 单链表排序 使用On大小的辅助数组进而可以使用第7章的排序算法最后重置链表的结点数据域。直接插入排序思想代码如下:void   Sort(LinkList L){LNode *pL-next,*pre;LNode *rp-next;p-nextNULL;   //构造只含一个数据结点的有序表pr;whilep!NULL{  //每次插入一个结点并使链表有序rp-next;preL  //将pre置于头结点用于循环找到插入的合适位置while(pre-next!NULLpre-next-datap-data)  prepre-next;p-nextpre-next; pre-nextp; //将*p插入到*pre之后pr //工作指针迭代}//第一个while}//void 四、独有操作或考法 4.1 在顺序表中遍历找到符合要求的元素并删除 两种方法 用count记录已保存的元素个数遍历时将需要保存的元素移动到下标count的位置并更新count值用count记录已删除的元素个数遍历时更新count或者将需要保留的元素前移count两种方法结束后都要修改L.length L.lengthcount;L.length-count;4.2 判断单链表是否存在环 如果有环快指针早晚追上慢指针 课后21题 4.3 找到两个链表中的共同结点 1对齐后前后指针同时扫描两链表 2for循环枚举 咸鱼学长统计我在这里保存一下方便查看
http://www.hkea.cn/news/14273894/

相关文章:

  • 什么网站做推广最好淘宝领卷网站什么做
  • 佰牛深圳网站建设佛山市工程招标网
  • 如何免费建立网站安全证四川省建设厅官方网站
  • 哪里有网站制作做的非常好的网站案例
  • 推进门户网站建设wordpress ip 地址修改
  • 为什么网站收录在百度突然没有了flash 3d 网站源码
  • 毕业设计做网站怎么答辩wordpress 修改模版
  • 北京专业做网站设计公司app调用网站
  • 网站搭建策略与方法有哪些方面网站建设如何接单
  • 企业网站建设怎么样做会计分录服装公司网站规划建设
  • 网站建设 广州网站建设专业公司wordpress 替换字体
  • 做网站图片视频加载慢高效网站推广公司
  • 企业网站内容的制作网站个人和企业有什么区别
  • 建设网站用模版电子商务网站建设与规划
  • 网站备案链接地址潜江资讯网最新招聘
  • 保险公司网站开发完成网站开发需要什么样技术
  • 影视网站怎么做内链wordpress所有文章404
  • 个人做外贸的网站业务外包的优势和劣势
  • 注销网站备案申请表网站优化优化怎么做
  • 做催收的网站怎么做网站可以注册的
  • 做网站图片为什么不清晰深圳广告公司名录
  • 青岛网站制作流程公司起名字查询网
  • 北京网站设计我选柚米苏州建能建设科技有限公司
  • 黄石企业网站建设上海软件网站建设
  • 贵州省住房和城乡建设厅网站wordpress响应缓慢
  • 网站开发设计方案书东莞电商页面设计公司
  • 公司网站手工优化怎么做哪些网站可以查企业信息
  • 北京定制网站建设公司推广产品的文案
  • 企业做网站需要什么软件建设机械网站平台
  • 苏州嘉盛建设工程有限公司网站门户网站手机版