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

数据结构概述

什么是数据结构:

  数据结构研究的是数据的存储和数据的操作在的一门科学,

  数据的存储分为两部分:

    1、个体的存储  2、个体关系的存储

  从某个角度而言,数据的存储最核心的就是个体关系的存储,个体的存储可以忽略不计;

 递归:

  汉诺塔问题:如果将n个盘子(由小到大)从a通过b,搬到c,搬运过程中不能出现小盘子在大盘子下面的情况。

  思路分析:假设前要移动第100个盘子,分两步走,移动第99个;再移动第100个;而要移动第99个,同样分两部,移动第98个,再移动第99个,以此类推;

  if(n>1)

  {

    1、先将A柱上的前n-1个盘子从A借助C移动到B;

    2、把A柱子上的第n个盘子直接移动到C;

    3、再将B柱子上的n-1个盘子借助A移动到C;

  }

 1 #include <iostream>
 2 static int s_data = 0;
 3 
 4 void move(const int i, const char a, const char b)
 5 {
 6     s_data++;
 7     std::cout<< "" <<i<<"号盘子从"<<a<<"移到"<<b<<std::endl;
 8 }
 9 
10 void hannoi(const int n, char a, char b, char c)  //参数说明:a是源柱,b是借助的柱子,c是目标柱子
11 {
12     int tmp = n;
13     if(tmp == 1){
14         move(1, a, c);
15     }else{
16         hannoi(tmp-1, a, c, b);
17         move(tmp, a, c);
18         hannoi(tmp-1, b, a, c);
19     }
20 }
21 
22 int main()
23 {
24     std::cout<<"以下是7层汉诺塔的解法:"<<std::endl;  
25     hannoi(4,'A','B','C');  
26     std::cout<<"输出完毕!总次数为"<< s_data <<std::endl; 
27     while(1);
28 }

 

 

转载于:https://www.cnblogs.com/chris-cp/p/4102470.html

相关文章:

  • 关于与产品相关的品牌、国藉等与产品质量的一些思考(转)
  • centOS下安装JDK
  • 网络安全系列之四十七 在IIS6中申请并安装证书
  • 使用jQuery.FileUpload和Backload自定义控制器上传多个文件
  • 从零开始iOS8编程【HelloWorld】
  • 微软职位内部推荐-SDEII for Windows Phone Apps
  • 关于PCB 3D 模型的快速导入方法
  • FreeSWITCH在呼叫失败的情况下播放语音提示
  • STL容器的使用
  • Mysql索引类型 Normal,Unique,Full Text
  • Linux定时任务没有执行的总结
  • Hql 一种错误写法的分析
  • nginx 405 not allowed问题的解决
  • Mac 与 PC 键盘布局对比
  • oracle 创建视图、修改视图、删除视图、利用视图操作基本表
  • 2019.2.20 c++ 知识梳理
  • Bootstrap JS插件Alert源码分析
  • echarts花样作死的坑
  • Git学习与使用心得(1)—— 初始化
  • Laravel Mix运行时关于es2015报错解决方案
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • MySQL几个简单SQL的优化
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • python3 使用 asyncio 代替线程
  • React-redux的原理以及使用
  • REST架构的思考
  • Vue ES6 Jade Scss Webpack Gulp
  • 从零开始学习部署
  • 实现简单的正则表达式引擎
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 译自由幺半群
  • scrapy中间件源码分析及常用中间件大全
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​VRRP 虚拟路由冗余协议(华为)
  • !!Dom4j 学习笔记
  • #传输# #传输数据判断#
  • $.ajax()参数及用法
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (42)STM32——LCD显示屏实验笔记
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (poj1.3.2)1791(构造法模拟)
  • (附源码)php投票系统 毕业设计 121500
  • (万字长文)Spring的核心知识尽揽其中
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)ABI是什么
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .chm格式文件如何阅读
  • .describe() python_Python-Win32com-Excel
  • .NET CLR基本术语
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Core 中插件式开发实现
  • .Net Redis的秒杀Dome和异步执行
  • .Net 垃圾回收机制原理(二)