【这是一个还没有被证实是否有效的小白修炼手册】数据结构入门第一课基本概念
数据结构是计算机中的存储。组织数据的方式。 通常情况下,精心选择的数据结构可以带来,最优效率的算法。 |
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+a1x+⋯+an−1xn−1+anxn
直接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))⋯))
线性结构,树,图,逻辑结构
数组,链表,物理存储结构
抽象数据类型到底是什么东西?
抽象两个字代表我们并不关心它的值具体是什么,描述操作集时也不会考虑具体的实现方法。
抽象有什么好处? |
理解一下抽象的好处,拙见如下:宏观把握先不关心细节,有一种整合的美吧,有点像是形而上学的方法论,普适性比较好。
今日写文背景音乐《只只》,段老狗加油!!!
别的小孩有的 我们只只也要有 |
雨下过后的屋檐,猫坐在路边,
你吹着风,不说话就很甜。
微光里树影重叠,骤雨间湿冷麻雀,
我杜撰许多离别,勇敢而坚决!
十月过后的天空,醉酒般晕红,
一半是春夏,一半是秋冬。
光影飘浮过山峰,留下关于你的梦,
我在这写下重逢,贫乏而心动!
想和你看着星空,只谈夜色与微风,
不关心明天,不在乎所有,
只对你有独钟。
是时候和你决定,即便匆忙去远行,
在山野间追风,去看遍世界,
黄昏与黎明。
路过转角的花店,你坐在窗前,
我骑着单车,载着你走很远。
星光透映着长街,无意间夜色倾斜。
在纸上写下一页,深沉而浓烈!
想和你看着星空,只谈夜色与微风,
不关心明天,不在乎所有,
只对你有独钟。
是时候和你决定,即便匆忙去远行,
在山野间追风,去看遍世界,
黄昏与黎明.
任时间过往匆匆,轻易就远去无声,
在人潮之中,想要拥抱你,哪怕片刻永恒,
我已经偷偷决定,把爱你的事澄清,
在百念之中,你依然是我,未寻得的旧梦。
十月过后的天空,光影在流动。
一半是春夏,一半是秋冬。
【这是一个还没有被证实是否有效的小白修炼手册】数据结构入门第一课基本概念相关推荐
- 上计算机课还用拿纸和笔吗,三年级下册信息技术课件-第一课 计算机的“纸”和“笔” 陕教版(共27张PPT)...
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...
- 推荐一个还不错的医学网站
推荐一个还不错的医学网站 推荐一个还不错的医学网站 http://www.aizy.cn/bbs/index.php
- [Web]如何利用Boostrap框架搭建一个还可以的静态网站(五_子页_脱发指南)
文章目录 返回总结 整体效果 组件 人物介绍块 内容介绍块 代码 独属CSS HairLossGuide.css html HairLossGuide.html 返回总结 如何利用Boostrap框架 ...
- [Web]如何利用Boostrap框架搭建一个还可以的静态网站(六_子页)
文章目录 返回总结 整体效果 组件 vedio题目 vedio博主介绍 vedio vedio用户留言 电子烟评测块 辩论块 代码 html ElectronicCigarettes.html 返回总 ...
- [Web]如何利用Boostrap框架搭建一个还可以的静态网站(四_子页_戒烟小说)
文章目录 返回总结 整体效果 思路 组件 轮播图 排行榜 轮播广告语 广告 空行 小说块 代码 独属css SmokeNote_Style.css html SmokeNote.html 返回总结 如 ...
- [Web]如何利用Boostrap框架搭建一个还可以的静态网站(三_主页)
文章目录 返回总结 整体效果 思路 各个组件代码 导航栏 LOGO 滚动时间 标题线 图词模块 页脚 代码 独属css文件 indexCss1.css html代码 index.html 返回总结 如 ...
- 什么是优秀管理者的第一课?【如何搞垮一个企业】
什么是优秀管理者的第一课?[如何搞垮一个企业] 文 韩宇斌 <道德与企业成败 [如何搞垮一个企业.序]> ...
- 一个还算简单的微信消息SDK(基于.Net Standard 2.0)
虽然微信公众号出现了好久,不过在SDK这件事情上感觉并没有多少人把它当成一个有技术含量的事情来做,很多SDK做的事情就是一个代码的堆叠,当然也可能写的好的并没有开源出来.所以在某个翻遍github而无 ...
- 【我的故事】一个还不成熟的女程序员的苦恼
我是阿曌,90后,一只还不成熟的女程序猿. 去年7月份,我毕业了,在大学学习了C++和Java,现在在深圳一家企业从事Android/iOS开发. 在今年过年以前,我还沉浸在跟着项目学知识的阶段,会因 ...
最新文章
- 超全汇总 | ORB-SLAM2 / ORB-SLAM3 相关改进代码!
- Flutter UI自动化测试技术方案选型与探索
- linux qt 5移植,Qt 5.13支持处理Lottie文件,可以方便地进行移植
- 五十五、手把手教你从零到一,完成淘宝数据分析案例
- RabbitMQ管理(4)——应用管理
- Problem I: 打印金字塔
- 暴库也不怕!EF Core加密存储数据
- 在真实工作中的编程是怎么样的,与学校里有什么不同?
- oracle创建表空间、用户
- python jpg 压缩因子_IOS图像2之jpg、png图片保存、互转、设置有损压缩因子
- 基于FPGA实现IIC接口(EEPROM)
- 解决Fail to create the java Virtual Machine
- PHP 调用shell命令
- python基础学习笔记第二天 内建方法(s t r)
- one loop per thread
- android java程序中调用shell命令
- c# listbox使用
- JAVA JSON转XML
- php text换行_php实现文字换行
- Android——TextView实现真正的跑马灯效果