【字幕】恋上数据结构与算法之06复杂度01开发环境搭建

视频地址:06复杂度01开发环境搭建_哔哩哔哩_bilibili

好,同学们,我们开始上课啊。今天是我们数据结构算法课程的这个第一天,我们先来看一下我们的这个课程大纲啊,那课程大纲呢大概来说是这样这样子噢,我们可以看到这个课程大纲呢看起来比较多,东西比较多啊。首先第一个呢是讲什么复杂度,然后第二个呢是讲一些线性表,然后讲数数开始注意,从数开始呢就是我们课程的重点了,也就是说前面的这些东西呢其实都非常非常的简单啊,那从我们这个数开始呢就相对来说稍微复杂一点,但是只要你认真听,其实也不是很复杂。

啊比如说像这个什么,比如说像这个红黑素,很多同学一听到红黑素,或者说很多其他人听到这个红黑素,都可能觉得这个东西是不是很难呢?很复杂对吧?其实这个东西一点也不复杂,红黑素这个东西只要你认真听讲的话,我可以保证我们这个大纲上面的东西你都是可以学会都是可以掌握的。

当然前提是你要认真听讲啊,就是跟上我这个节奏,这个是前提啊。然后刚刚说到红黑素这个东西呢,很多同学觉得很难是吧?其实大可不必担心,只要你认真听真的是没有问题的。

我为了让同学们彻底掌握这些东西呢,也是煞费苦心啊,首先呃这个有些比较抽象的东西呢,我自己做了个工具啊,比如说这个二叉树这种东西我自己做了工具,比如说这个什么二叉搜索树,还有这个红黑树,我自己写了个工具啊,那比如说我们可以随机生成一些数据,然后一点添加它就会生成一个红黑树,那利用这种工具的话,大家学习起来的话就会比较容易一点啊这是一点。

然后的话呃我也我也从网上找了一些工具啊,也是辅助大家学习的啊。在哪个地方呢?在我这个课件里面我找了个工具,我把它的这个源码呢下载下来,然后自己改造了一下啊,方便大家学习,本来它是全英文的,然后我我把它汉化了一下,就把它上面的这些文字呢给汉化了一下,你看这个这个也是可以呃添加红黑素,比如说我们点添加呃甚至它还有动画,比如说我们再加一个对吧?

你看还有动画,那通过这些东西学习啊这些动态的东西来学习的话,那同学们学习这些比较抽象的数据结构,相对来说肯定会简单一点啊。

然后再给大家看一下我这个PPT啊比如说我们这个红黑素这个PPT,大家可以看到从左边就可以看到,我做这个PPT应该花了很长时间,对吧?你看各种情况各种情况各种情况,而且里面还是夹杂着一些动画的啊一些动画的,所以有这些丰富多彩这个PPT,我相信同学们肯定是可以掌握这些比较抽象的数据结构的啊。

那在此之前啊在同学们学习本课程之前,可能之前也尝试去学习这个数据结构,但是很多同学可能觉得这个东西太抽象太难了,一直没有坚持下来。

其实在我看来啊,我觉得任何技术点都是可以学会的,你没有学会可能是你没有找到好的资料,没有找到好的学习方法啊,所以同学们从今天开始呢我就跟大家一起来去攻克这个数据结构跟算法,啊,大家只要好好听,我觉得绝对是没有问题的好吧?

然后正式讲这个内容之前呢,就是讲这个内容之前,我先假设我先假设同学们都已经看过我们的课程前面几个免费视频了啊,我们这里一共有5个,12345一共有5个,啊,这5个免费视频我现在是假设你已经看过了,你是在看过这5个视频的基础上来上课的啊,我现在是假设你已经呃听过这5个视频了。

噢那既然大家已经听过这前面5个视频了,那我们就直接切入主题来看一下我们今天要讲的东西好吗?

来首先我们看一下这个开发环境的搭建,那说说开发环境的搭建之前,呃首先跟同学们说几个东西,第一个我这里列多了一个东西,就是我的个人博客,其实前阵子呢我把我自己的博客呢给装修了一下啊我们看一下,这个是我的博客,我把它装修了一下,就是我自己加了一些GS跟CS把它装修一下,啊那比如说看一下这篇这边的话呢大概来说是长这样子,然后我加了很多功能啊,比如说这个呃右边的这个目录,还有这个什么回到顶部,这些都是我自己加的啊,因为我这些都是方便大家以后看东西,然后这个代码高亮什么的都是我自己加的啊。

那这样的话以后我往上面增加东西的时候,大家看这个文章呢就可能会比较不费劲,看起来就比较清晰,也就是说呃这个未来呢我会不断的去写这个博客了,我这个博客已经停更好久了,啊我们看一下这个日期,这个日期你看2013年啊,这这这个这个2013年2013年,然后15年出了一篇对吧?

然后19年3月份呢出了一篇,也就是说时隔好多年没有写东西了啊。

呃由于数据结构跟算法这个东西比较抽象,所以我可能很很多东西呢也可以通过这个文字来表示一下啊,就在我们课堂的基础上,我会再加一些文字性的东西,就会发一些文章啊,所以大家有兴趣的话可以关注一下我这个博客地址啊。呃我都特地把它装修了一下,就就方便大家看,比如说这个目录我们点一下,它就可以跳转到对应的这个标题啊,嗯所以大家有有有兴趣可以关注一下。

然后右下角呢我这里多了个二维码,这是什么东西呢?这个是前阵子我自己申请的一个技术公众号,呃我也可能会在这个公众号面公众号上面啊去发一些文章,大家有兴趣也可以关注一下,比如说后面一些算法相关的东西,我也会发在这个上面啊。

然后说到这,我们就来看一下这个开发环境的这个搭建吧。

那这个开发环境的这个搭建的话,我们看一下首先第一个我们要学习这个数据结构跟算法的话,我们使用什么开发工具呢?有两款可以选择,一款是Eclipse,另外一款呢是Ida,这两款都是有免费的,这两款同学们都可以选择啊,那我们上课我选择哪个呢?我上课我选的是Eclipse,那为什么我上课选择用Eclipse呢?

首先我先说明一下啊,如果你是做企业级开发,现在用的比较多的是idea因为它的这个集成环境非常强大啊,比如说你要集成一些框架或者说一些好用的服务,你会发现idea它已经集成了,所以你做企业级开发,你选择idea是没有问题的,那我上课为什么要选择克里维斯呢?

当然首先第一点因为它比较明亮简洁,就是给我的感觉它的代码各方面看起来比较舒服,这是我个人的一个感觉啊。

感觉啊,然后还有一个它支持一个功能,就是多个项目可以在同一个窗口里面显示,什么意思呢?比如说我现在你看我我我现在是有很多个项目看到吗?

现在有这里有十几个项目,这十几个项目都是在同一个窗口里面可以同时展开的,我上课可能会经常在各个项目之间进行穿插拷贝代码之类的,所以我我的我有个需求就是我希望所有项目展示在一起啊,但是如果我用idea的话,它是不支持这个东西的,它需要开很多个窗口,到时候切换了就比较麻烦,所以我上课选择用这个Eclipse啊,而且我们上课过程中呢也不会怎么样,也不会使用到后台开发的框架,所以根本就不需要去集成一些很复杂的东西,所以我们根本不需要IE对idea可以多窗口多窗口,但是还是比较麻烦,你可能意思呢它就只需要一个窗口就可以了。

啊所以我上课选择它,那同学们可能会想唉老师你上课用excuse,那我课后用idea行不行?那肯定可以啊没有问题,因为我们上课不管用什么工具,你用另外一款工具是完全没有问题,如果我上课用的是Eclipse,你课后的话就不会用idea,那我觉得你根本就没必要学数据结构跟算法了,对吧?这么简单的东西都不会是吧?就切换一下工具而已嘛。

然后我们看一下啊这两款工具的话,这两款工具的话都是支持MAC windows平台的,也就是说我现在上课虽然用的是windows,但是大家呢呃客户用MAC也是没有问题的啊,然后下载地址呢这个ecbc我已经提供这个地址给大家了,大家可以去这个去这个位置下载啊。

然后我这个位置呢也给大家准备好了,在这个位置这个软件这些已经都准备好了,到时候可以发给大家好。

第一个是装安装这个什么呢?开发工具,那开发工具装完之后,还有一个东西叫做jdk,其实就是Java的一个开发包,Java的一个开发包,大家也得安装一下啊。

那Java开发包呢有很多版本,我建议大家至少安装1.8版本,啊你可以安装1.8甚至更高版本,我建议的话就是不要太高啊就1.8也行啊,那这个东西怎么下载呢?这个东西的话啊我也给出了这个下载地址,大家也可以自己去下载,或者说我给你提供了这个东西,比如说windows版本的这个jdk我已经准备好了,然后呢这个MAC版本的这个jdk我也准备好了,所以你不用去下载也行,只是用我这个东西也行啊。

然后这个jdk装完以后呢,windows里面它可能需要配置一个环境变量,环境变量,环境变量怎么配我就不多解释了,大家自己看这个图片好吧,我PPT上面说得非常清楚啊,你自己去配啊,其实就是把jdk下面的这个并目录,JD DK下面jre的病目录给配置一下就行了。

这个我就不不多说好吧,同学们可以自己去配,这是一个是非常简单的东西,我们就不耽误课堂时间。

那接下来呢我们就怎么样呢?来开始使用这个开发工具来做一些事情了。首先我先选择一个工作空间,这个工作空间呢就是以后我们存放项目的地方,这个存放项目的地方我选择什么地方,我就选择我自己新建好这个文件夹,这个代码文件夹也就是说以后啊以后我们上课所有代码我都放这个地方好,选完工作空间呢它会重新启动一下这个一一克里斯。

稍等一下。

然后这个这个东西呢不建议大家勾选,不然它每次启动的话都会显示这个画面,然后点击一下这个位置,就可以进入这个工作台。

好了,这个进入工作台之后呢,把一些不必要的东西关掉,比如说这个东西我觉得是没什么用的,把它关掉。然后这个Java DOC对我们来说暂时没什么用,然后这个也可以去掉这个留下,然后这个位置呢有个window有个show view,console控制台把它弄出来以后呢,我们做一些打印,它就会打印到这个位置,这个要把它调出来啊。

好,那左边呢就可以来新建一个新的项目了,啊现在我们来尝试来新建一个第一个项目,啊,比如说我们右击 new有个Java project来我们新建一个项目,比如说我们那个test,好这就是一个项目,然后Java的这个代码写在什么地方,他写的这个src这个文件夹下面就可以了,比如说我们现在来新建一个类,噢Java它是面向对象的语言肯定有类嘛对吧?

我来我们来新建一个类,那这个类呢我就直接叫们闷,然后这里还有一个概念叫做package,包名,包名你可以理解为是文件夹,在Java里面它是建议我们给它新建一个包名,啊其实建议你看这有个警告对吧?他说要要给一个这个包啊就要给个包,那包名的话一般来说Java的这个命名就是你的域名,反过来什么意思呢?比如说你的网站叫ww点mj.com对吧?那我们就反过来写就是com点mj然后三w呢我们就把它省略啊就这个意思。

好,那这个时候我们finish这样的话它就会新建一个这个Java文件,然后这个这个文件你会发现他在com点mj这个包里面,这个其实就是个文件夹,你可以认为是个文件夹啊,这是官方的一个建议,就建议大家给他报名,这是Java语法的部分呢我就不多说了好吧?然后可以看到我们新建完之后呢,那这里怎么样,这里文字比较小,那这些都是可以调的,我我快速把它调一下吧。那我们这里直接搜索这个放置,像这些基本的调整你放心,我在这个PPT上面都有写的,这个我就不多说了。

然后这有个basic,然后我们把它调一下要4号。好4号啊,这样就比较大,那同学们看起来也比较清晰,就ok。然后新建完一个类之后呢,那怎么把这个程序跑起来,实际上是这样的。大家知都知道啊,很多编程语言程序的入口在哪里啊?很多编程语言程序的入口在哪里?是不是一个叫梦函数的东西啊?对吧?

那Java也是一样的,只不过Java里面函数呢它不叫函数,Java里面叫方法,其实这两个是等价的,不管是叫函数还是叫方法,其实是一个意思啊,只只不过这样Java里面它叫方法,那以后呢我就改为叫方法啊召唤灵叫方法,那怎么搞一个闷方法呢?

就是我们程序的入口呢很简单很简单啊,Java的这个方法是依赖于这个类的,就是必须先有类再有方法,不像这个c语言,c语言是不是直接可以写一个这个man函数啊对吧?

那Java不一样,Java是必须得先写一个这个这个函数,所以我们直接敲一个man,然后我们把它提示一下,你看它自动生成一个们方法对吧?那这些东西是什么意思?这个我我就不解释了,因为这个Java的这个基础语法部分啊,呃相信很多有过面向对象开发语言经验的同学,其实大概能猜到这是什么东西啊。

那么这个时候呢我们在这里打印一下,那Java打印是这样子,他用到一个东西叫system点out点print land,print6n比如说我们随便打印一下hello world,啊怎么这个怎么把这个程序跑起来呢?我们先把这个代码保存一下,CTRL加s那这个时候我们可以直接右击,然后运行一下就可以了,你看打印出来对吧?

那第一种方法呢是右击对吧?Run as Java application,还有一种方法呢是直接点击这个位置,如果你上次运行过的这个程序,它这里会有记录,你直接再次点一下就好了,你看又跑一遍对吧?再次点一下就好了,那关于这个工具的更多使用我就不讲这么详细了。

刚刚是有些基础的东西呢,我稍微说一下,以后我就不会针对这些东西进行详细的讲解了。啊如果大大家实在是想掌握这个Java语法,完全可以去网上找一些这个Java的这个学习资料对吧?但我相信只要你有个面向对象语言的开发经验,这些东西对你来说其实都很简单,大概能猜到这是在干什么对吧?我就不扯太多啊。

那这里面有几个很重要的设置来设置一下吧,首先第一个嗯这个行号,行号怎么设置?其实是直接右击,右击这里有个什么?有有个这个收numbers,这个比较简单。

好,那快捷键这些我不多说了,这个大家自己去看好吧,然后有一个非常重要的东西,我给大给大家说明一下,就这个修改这个工作空间的默认编码,什么意思呢?就是这个艾克利姆斯呢它默认的这个文件编码可能不是什么呢?可能不是utf8,如果不是utf8,你把我们这个代码文件拿到其他平台去展示,其他工具去打开可能可能会乱码,因为很多工具它的编码其实都是utf8对吧?

所以我们得把这个Java的这个mod的这个编码给改掉,那怎么改掉呢?在这个windows然后在这个地方我们搜索一下这个work,他就会找找到一个叫work space,工作空间,我们点击工作空间,你看这里有个编码把这个编码给改了,改成utf应用一下,你看这里马上乱码,因为刚刚不是ut法,把它改一下,我不改的话,不然大家拿到我代码,放到你的这个自己的其他工具上可能会乱码,我把它改掉。

然后我再说一个问题,再说一个问题,你看啊这个这个Java里面它打印呢用的是system,点out点print land对吧?你看它基本是用点点啊,比如说举个例子,以后我要用这个list,你看点at这什么意思呢?就是调用这个对象的某个方法,它用的是点,而且你发现克里斯有个什么特点?

当我们用点的时候它是有提示的,我们看一下啊,类似的点有提示对不对?但是我敲其他字母的时候是没有提示的,lis没有提示对不对?那如果你希望不管你敲什么东西都有提示,那怎么办呢?那第一种方法使用快捷键,比如说我们敲一个l然后快捷键是lot加斜线,lt加斜线你看就有对吧?

有这个提示,这是一种方法,这个快捷键我在这个上面都是有写,我都不多说啊,那还有一种方法我们可以点击windows plus这个位置,这个位置呢你搜索一下这个空疼噢,c等就是内容助手,然后选哪个呢?

应该是选择这个Java里面的这个 ed里面的content,content你看这里面有个什么呢?有个提示你看点,你看这个点什么意思啊?意味着你敲点就有提示,那如果你希望你敲什么东西都有提示,那怎么办呢?很简单,你只需要将什么呢?将这一串考证券。

大家想想这一串什么意思啊?

你看0~9数字,然后呢不管你是大写的英文字母,还是小写的英文字母都在了,那是不是意味着不管你以后写什么代码都有提示了,所以这个时候你只需要把这一串拷贝一下,然后我们把把这个东西把这个点呢给删掉,然后呢我们把这个东西应用一下,那这个时候我们再来试一下,我敲个l你看马上就有提示了,那以后你就很爽了对吧?

敲什么东西都自动有提示了。那像这些基本的一些配置相关东西我就不多解释了,因为上面呢我PPT都写得非常详细好吧,我们就不浪费时间把它关掉了。

好这个到此为止我们把它关掉。

然后如果大家呃课后还有很多时间对吧,想把这个Java的这个语法给好好学习一下,大家也可以在上面去搜啊,比如说说我们蔻丁郎教育啊,呃蔻丁郎其实是跟我们小红马是同一家啊,只不过我们蔻丁郎呢现在这个品牌是做线下教育,我们小马哥是做线线线上教育啊,如果大家想学习这个Java,可以看一下这个视频,Java0基础入门啊就非常多非常多,呃这个目录也非常非常多,免费的啊,大家有兴趣可以看一下好吧?

把它关掉。就就如果你想把这个Java语法巩固一下,大家可以自己去看一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值