数据结构是计算机中的存储。组织数据的方式。 通常情况下,精心选择的数据结构可以带来,最优效率的算法

Q1:如何在书架上摆放图书?
我家里的书都是按照颜色大小摆放的,或者按照小学初中大学,还有乱摆的。哦,正常情况应该是按照图书馆的那种分类形式或者首字母大小写吧。
受教了,这道题是要质疑题目本身的,它本身提问的不是很科学,没有告诉我们书架是长得什么样子?
当我们提及到数据是怎样组织的时候,这和数据的规模是有关系的。

方法 如何放书 如何查找书
随便放 容易 (规模大的时候)困难,从头到尾遍历
书名拼音字母顺序 放书A开头的之后的书要后挪 二分查找(查找范围缩小一半)
按分类 先定分类再插入书 先定类别再二分查找

思考:按照分类的方法放书,划分给每一个类别的空间如何划分?
我们要分类分多少个合适?

对中等规模、大规模的图书摆放,你有什么更好的建议?

提出这个问题,实际上是想让大家思考,在考虑大规模数据存储的时候会遇到什么问题,以及如何根据功能(也就是关联的算法,最常见的就是插入、查找、删除)需要设计存储方式。

在这里,我的思考是:大规模的图书摆放设立多级别终端多次查找,每个图书有一个优先级的标签,(所在区域,所属楼层,所属类别之类的)比如先在门口第一次查找查找某图书,显示它在A区,然后来到A区域的查找终端上继续找寻这本书,它会指引你来到相应的楼层,然后在楼层的专属终端上再按照这节课讲的方法来查找。反正人总是要走动的,那么我们在寻找书的这一路径上一步一步引导,应该没有什么毛病吧?哈哈哈,欢迎各路杠精,小白,大神评论区指教

Q2:写程序实现一个函数PrintN,使得输入一个正整数N后,能顺序打印从1到N的所有正整数。
第一感觉,我也想用FOR LOOP,

void PrintN(int N){int i;for (i = 1;i++;i<N)Printf("%d\n",N);}return;
}

但是老师又给了另外一种递归的方法,嗯,一直都没有注意过。

void PrintN(int N){if(N){PrintN(N-1);Printf("%d\n",N);}return;
}

递归的程序对空间的占用很恐怖,解决问题方法的效率与空间的利用效率是有关的。

晒一下PrintN在你的机器上运行的结果?

我的代码如下

#include <iostream>
#include <time.h>
void PrintN_loop(int N){int i;for (i = 1;i++;i<N){std::cout<<i<<std::endl;}return;
}
void PrintN_recursion(int N){if(N){PrintN_recursion(N-1);std::cout<<N<<std::endl;}return;
}int main()
{int N=100;clock_t t1 = clock();PrintN_loop(N);clock_t t2 = clock();std::cout<<"time: "<<t2-t1<<std::endl;
}

在终端中运行

g++ -o testcpp test.cpp

没有编译问题则会生成可执行文件。

./testcpp

啊啊啊,为什么结果是那么的奇怪?掌握一下C++和time.h的用法回头重新算。
C++ time.h 库详解
clock( )捕捉程序从开始到目前的时钟打点,
Q3:求解给定多项式在x点处的值。
f(x)=a0+a1x+⋯+an−1xn−1+anxnf(x)=a_{0}+a_{1} x+\cdots+a_{n-1} x^{n-1}+a_{n} x^{n}f(x)=a0​+a1​x+⋯+an−1​xn−1+an​xn
直接FOR LOOP逐个项计算不如我们先用结合率来试试
f(x)=a0+x(a1+x(⋯(an−1+x(an))⋯))f(x)=a_{0}+x\left(a_{1}+x\left(\cdots\left(a_{n-1}+x\left(a_{n}\right)\right) \cdots\right)\right)f(x)=a0​+x(a1​+x(⋯(an−1​+x(an​))⋯))

线性结构,树,图,逻辑结构
数组,链表,物理存储结构
抽象数据类型到底是什么东西?
抽象两个字代表我们并不关心它的值具体是什么,描述操作集时也不会考虑具体的实现方法。

抽象有什么好处?

理解一下抽象的好处,拙见如下:宏观把握先不关心细节,有一种整合的美吧,有点像是形而上学的方法论,普适性比较好。

今日写文背景音乐《只只》,段老狗加油!!!

别的小孩有的 我们只只也要有

雨下过后的屋檐,猫坐在路边,
你吹着风,不说话就很甜。
微光里树影重叠,骤雨间湿冷麻雀,
我杜撰许多离别,勇敢而坚决!
十月过后的天空,醉酒般晕红,
一半是春夏,一半是秋冬。
光影飘浮过山峰,留下关于你的梦,
我在这写下重逢,贫乏而心动!
想和你看着星空,只谈夜色与微风,
不关心明天,不在乎所有,
只对你有独钟。
是时候和你决定,即便匆忙去远行,
在山野间追风,去看遍世界,
黄昏与黎明。
路过转角的花店,你坐在窗前,
我骑着单车,载着你走很远。
星光透映着长街,无意间夜色倾斜。
在纸上写下一页,深沉而浓烈!
想和你看着星空,只谈夜色与微风,
不关心明天,不在乎所有,
只对你有独钟。
是时候和你决定,即便匆忙去远行,
在山野间追风,去看遍世界,
黄昏与黎明.
任时间过往匆匆,轻易就远去无声,
在人潮之中,想要拥抱你,哪怕片刻永恒,
我已经偷偷决定,把爱你的事澄清,
在百念之中,你依然是我,未寻得的旧梦。
十月过后的天空,光影在流动。
一半是春夏,一半是秋冬。

【这是一个还没有被证实是否有效的小白修炼手册】数据结构入门第一课基本概念相关推荐

  1. 上计算机课还用拿纸和笔吗,三年级下册信息技术课件-第一课 计算机的“纸”和“笔” 陕教版(共27张PPT)...

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  2. 推荐一个还不错的医学网站

    推荐一个还不错的医学网站 推荐一个还不错的医学网站 http://www.aizy.cn/bbs/index.php

  3. [Web]如何利用Boostrap框架搭建一个还可以的静态网站(五_子页_脱发指南)

    文章目录 返回总结 整体效果 组件 人物介绍块 内容介绍块 代码 独属CSS HairLossGuide.css html HairLossGuide.html 返回总结 如何利用Boostrap框架 ...

  4. [Web]如何利用Boostrap框架搭建一个还可以的静态网站(六_子页)

    文章目录 返回总结 整体效果 组件 vedio题目 vedio博主介绍 vedio vedio用户留言 电子烟评测块 辩论块 代码 html ElectronicCigarettes.html 返回总 ...

  5. [Web]如何利用Boostrap框架搭建一个还可以的静态网站(四_子页_戒烟小说)

    文章目录 返回总结 整体效果 思路 组件 轮播图 排行榜 轮播广告语 广告 空行 小说块 代码 独属css SmokeNote_Style.css html SmokeNote.html 返回总结 如 ...

  6. [Web]如何利用Boostrap框架搭建一个还可以的静态网站(三_主页)

    文章目录 返回总结 整体效果 思路 各个组件代码 导航栏 LOGO 滚动时间 标题线 图词模块 页脚 代码 独属css文件 indexCss1.css html代码 index.html 返回总结 如 ...

  7. 什么是优秀管理者的第一课?【如何搞垮一个企业】

    什么是优秀管理者的第一课?[如何搞垮一个企业]                                           文 韩宇斌 <道德与企业成败 [如何搞垮一个企业.序]> ...

  8. 一个还算简单的微信消息SDK(基于.Net Standard 2.0)

    虽然微信公众号出现了好久,不过在SDK这件事情上感觉并没有多少人把它当成一个有技术含量的事情来做,很多SDK做的事情就是一个代码的堆叠,当然也可能写的好的并没有开源出来.所以在某个翻遍github而无 ...

  9. 【我的故事】一个还不成熟的女程序员的苦恼

    我是阿曌,90后,一只还不成熟的女程序猿. 去年7月份,我毕业了,在大学学习了C++和Java,现在在深圳一家企业从事Android/iOS开发. 在今年过年以前,我还沉浸在跟着项目学知识的阶段,会因 ...

最新文章

  1. 超全汇总 | ORB-SLAM2 / ORB-SLAM3 相关改进代码!
  2. Flutter UI自动化测试技术方案选型与探索
  3. linux qt 5移植,Qt 5.13支持处理Lottie文件,可以方便地进行移植
  4. 五十五、手把手教你从零到一,完成淘宝数据分析案例
  5. RabbitMQ管理(4)——应用管理
  6. Problem I: 打印金字塔
  7. 暴库也不怕!EF Core加密存储数据
  8. 在真实工作中的编程是怎么样的,与学校里有什么不同?
  9. oracle创建表空间、用户
  10. python jpg 压缩因子_IOS图像2之jpg、png图片保存、互转、设置有损压缩因子
  11. 基于FPGA实现IIC接口(EEPROM)
  12. 解决Fail to create the java Virtual Machine
  13. PHP 调用shell命令
  14. python基础学习笔记第二天 内建方法(s t r)
  15. one loop per thread
  16. android java程序中调用shell命令
  17. c# listbox使用
  18. JAVA JSON转XML
  19. php text换行_php实现文字换行
  20. Android——TextView实现真正的跑马灯效果

热门文章

  1. 《动手学深度学习》(七) -- 边界框和锚框
  2. FPGA 之 时序分析
  3. 2×3卡方检验prism_【SPSS数据分析】方差分析之多因素方差分析(3)Graphpad Prism绘制简单效应折线图...
  4. 【每日一句】名人金句学英语(20221130)
  5. 洛谷刷题笔记 地球人口承载力估计
  6. Network Password Recovery工具查看windows凭据密码
  7. html设计个人网页导航
  8. NS3学习记录(四)--加入新模型及聚合Aggregate
  9. 喜欢吃鱼的朋友一定要转哦
  10. 微信小程序九宫格预览+单张图片预览