斐波那契数列时间复杂度O(2^n)
时间是容积,一去不复返,空间可以重复利用,再次调用是同一个地址
fib(n-1)=fib(n-2)的地址
空间复杂度是O(n)

可以考虑优化迭代算法,去掉冗余使时间复杂度达到O(n)
fib(n-1)+fib(n-2)

轮转数组

使数组元素向右轮转k个位置

方法一
无法通过,时间复杂度过高
时间复杂度为O(N*K)

void rotate(int* nums,int numsSize, int k)
{while (k--){int ret = nums[numsSize - 1];for (int i = numsSize - l; i > 0: i--){nums[i] = nums[i-i];}nums[0] = ret;}
}

方法2变长数组
空间换时间复杂度为O(n)

void rotate(int* nums, int numsSize, int k)
{//变长数组int tmp[numsSize];// 后k个拷贝前面int j=0;for(int i= numsSize-k;i< n; ++i){tmp[j] = nums[i];++j;}// 前n-k个拷贝到后面for(int i = 0;i<= numsSize-k-1; ++i){tmp[j] = nums[i];++j;}//拷贝回去for(int i = 0;i < numsSize; ++i){nums[i] = tmp[i];}
}

方法三逆置函数

void reverse(int* a, int begin, int end)
{while(begin < end){int tmp = a[begin];a[begin] = a[end];a[end] = tmp;++begin;--end;}}
void rotate(int* nums, int numsSize, int k)
{k %= numsSize;reverse(nums,0,numsSize-k-1);reverse(nums,numsSize-k,numsSize-1);reverse(nums,0,numsSize-1);
}

线性表

顺序表:其中的数据连续存储->本质上类似于数组

注意点:
声明函数.h头文件前会有防止重复包含,加上条件定义的宏#pragma once
typedf int SLDatetype 用来定义数据类型,便于切换类型

SLPushBack 扩容函数
当数据少的时候原地扩容,反之异地扩容
asset (暴力查找)
ps->size>0
//出现空的直接会显示位置

10-25 顺序表 23-5-11相关推荐

  1. 数据结构25 ————顺序表查找

    数据结构25 ----顺序表查找 一. 目录 文章目录 数据结构25 ----顺序表查找 一. 目录 二. 顺序表查找 三. 顺序表查找代码 1.基本算法 2.进行优化 四. 参考资料 二. 顺序表查 ...

  2. 顺序表正负数的调整 (10分)

    # **顺序表正负数的调整 (10分)** 顺序表的正负数的调整.实现如下操作:已知数组A[n]中的元素为整型的非零元素,将其调整成左右两部分,左边所有的元素都为负数,右边所有的元素都为正数,要求算法 ...

  3. php算法结构,PHP数据结构与算法:顺序表

    一.概念 把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里,元素间的顺序关系由它们的存储顺序自然表示. 逻辑顺序与物理顺序一致 元素之间的关系以元素在计算机内的"物理位置相邻&qu ...

  4. java数据结构与算法之顺序表与链表深入分析

    转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52953190 出自[zejian的博客] 关联文章: java数据结 ...

  5. 数据结构线性表的逻辑结构(三)顺序表基本操作的实现

    一. 实验目的 1. 掌握线性表的逻辑结构: 2. 顺序表基本操作的实现: 3. 掌握利用C/C++编程语言实现数据结构的编程方法: 4. 通过上机时间加强利用数据结构解决实际应用问题的能力: 二.  ...

  6. 数据结构之顺序表的插入

    题目描述: 插入新元素到顺序表.请在程序中建立一个含有10个元素,分别是1,2,3,4,5,6,7,8,9,10的顺序表.然后等候用户输入要插入的元素位序和元素值,如插入成功,输出顺序表的内容,否则输 ...

  7. 妙趣横生的算法--顺序表

    静态表                                                                 题目:创建一个静态的顺序表存放整数,大小为10,完成以下的操作. ...

  8. 【数据结构】顺序表的实现——超级无敌详细

    文章目录 1. 线性表 2. 顺序表 2.1 顺序表的概念 2.2 顺序表的分类 2.3 顺序表的接口函数 2.3.1 初始化顺序表 2.3.2 销毁顺序表 2.3.3 打印顺序表 2.3.4 判断是 ...

  9. 实现顺序表的各种基本运算的算法

    内容:编写一个程序,实现顺序表的各种基本算法和整体建表算法,并在此基础上设计一个程序,完成以下功能. (1)初始化顺序表L. (2)依次插人a.b.c.d.e元素. (3)输出顺序表L. (4)输出顺 ...

  10. 实验题一(实现顺序表各种基本运算的算法)

    目的:领会顺序表存储结构和掌握顺序表中各种基本运算算法设计. 内容:编写一个.cpp的程序,实现顺序表的各种基本运算和整体建表算法(假设顺序表的元素类型为 Elemtype char),并在此基础上设 ...

最新文章

  1. 库函数和系统调用的区别和联系
  2. 浅谈用原生 JS 模仿个Promise 的实现
  3. 数据库几种连接方式的(左右union all)
  4. zoj 3696 Alien's Organ(泊松分布)
  5. 【译】 Diving Into The Ethereum VM Part 6 - How Solidity Events Are Implemented
  6. 谷歌TensorFlow Lite支持Core ML
  7. 21、python基础学习-new_three_menu
  8. phpstorm连接ssh php,我可以在PhpStorm中使用远程ssh终端访问吗?
  9. 还没用上 JDK 11,12 就要来了
  10. matlab ifft频率分辨率,matlab中关于FFT的使用(理解频率分辨率、补零问题)
  11. AnyMP4 MP3 Converter for Mac(mp3格式转换器)
  12. 群辉linux系统,[教程] 群晖VMM虚拟机安装Linux系统无法成功启动桌面的解决办法...
  13. MySQL InnoDB Cluster部署方案与实践
  14. 获取高匿代理ip的步骤思路
  15. 粉笔公考——常识专项课——民法典
  16. 4.1 数据仓库基础与Apache Hive入门
  17. ant man什么意思_ant是什么意思_ant翻译_读音_用法_翻译
  18. dedecms教程:织梦搬家错位,链接不上数据库
  19. java调用银海社保接口,银海医保接口调用演示程序
  20. 键盘按键ctrl与大小写切换键caps lock位置互换

热门文章

  1. BCL easyConverter SDK
  2. lyrebird(MOCK平台)美团琴鸟,windows系统环境搭建以及使用手册
  3. 【C_socket】select检测键盘输入实现自由聊天
  4. Atmege48 单片机 密码锁 仿真 LCD12864 EEPROM 电子密码锁 LCD1602 开机登陆程序
  5. 网络编程socket accept函数的理解
  6. 利用FSL进行核磁数据处理(使用GUI/代码)
  7. 绝对路径与相对路径简介
  8. 清华大学电子工程系招生(学硕很少,专硕和直博比较多)
  9. Axure RP8(Win)安装程序及授权码
  10. [排序学习】基于Pairwise和Listwise的排序学习