临沂建设规划局网站,公司取名软件,移动端网站开发与网页开发区别,如何利用wordpress开发主题目录 1闲话
2数据结构前言
3复杂度的概念
4时间复杂度
5大O渐进表示法
6总结 1闲话 家人们好久不见#xff0c;小编军训终于是结束了#xff0c;大一事情太多了#xff0c;这几天没时间健身#xff0c;没时间…目录 1闲话
2数据结构前言
3复杂度的概念
4时间复杂度
5大O渐进表示法
6总结 1闲话 家人们好久不见小编军训终于是结束了大一事情太多了这几天没时间健身没时间学习也没时间发博客在这先跟大家说声对不起忙着各种开会、讲座、竞选、运动会、社团、部门等等不过从今天开始小编应该会周更2-3篇直到学完数据结构c语言的后续章节可能会在国庆节补出来敬请期待谢谢
2数据结构前言 很多小白肯定跟我学之前一样不理解什么是数据结构为什么要学数据结构数据结构和算法有啥子区别这几个问题不难回答第一数据结构是计算机存储数据管理数据的方式比如数组存数据我们可以通过循环一次性处理数组里的数据这就是数据结构
第二学习数据结构能让我们具有一些解决复杂问题的能力通常复杂的问题数据量都很大那么管理数据成了难题故学习了数据结构就可以又快又方便的管理数据。
第三算法就是定义良好的计算过程通俗点讲就是一系列的计算步骤通过优质的算法快速的解决过程再用优质的数据结构快速管理数据那么在难的题都如同庖丁解牛迎刃而解
3复杂度的概念 一般衡量一个算法的好坏一般是从时间和空间两个维度来衡量的插闲话小编爱看玄幻小说很多主角技能厉害的也跟时间空间相关所以小编在想如果我们算法可以一直往高处学没有上界那么我们能不能通过代码突破时空从而升维哈哈哈这只是一个想法要实现那肯定务必要学精算法小编会努力的也就是时间复杂度和空间复杂度
时间复杂度是衡量一个算法运行的快慢
空间复杂度是衡量一个算法运行所需要的额外空间
不过现在一般不怎么看空间复杂度因为我们现在不管是电脑还是手机内存和外存硬盘都很大了。但是我们还是要学接下来我们一起来看看
4时间复杂度 时间复杂度是一个函数式子TN它描述了该算法的运行时间肯定有人跟我有一样的疑问为什么不直接计算程序运行时间呢首先编译器的新旧程度会影响运算的快慢其次处理器的好坏也会影响运算的快慢跟你打游戏卡不卡一个道理再者我们只有写完程序才能知道运行时间。因此不能直接计算引入TN概念 TN)是计算了程序的运行次数。我们在这里要进行抽象的概念假设每条语句的执行时间是一样的不管你是a1还是a10000000^1000等等都基本一样实际有一内内区别那么我们能知道你运行次数越多那么运行时间越大。那么同样一题答案运行次数少的算法一定是比运行次数多的算法来的好的。 这个代码它的时间复杂度TNN;
5大O渐进表示法 有三条规则分别是
1.时间复杂度TN)中要抓大头什么意思呢也就是保留高阶项去掉低阶项如果TNN^2N234那么ONN^2
2.高阶项常数系数忽略不计如果TN12312N^2N234那么还是ONN^2为什么呢?很多同学在这有疑问因为当N无穷大时它的常数系数多少乘它都显得苍白无力。
3.若TN中只有常数项那么用常数1取代如果TN123121212312那么ON)1,这里不管常数多大结果都是1。
来看一道例题 这里每调用一次函数运行次数就加1那么根据图片我们能看出它是N执行次数就是N次所以ON就等于1
通常我们说的时间复杂度都是使用ON而不是TN
6总结 今天小编就学了这么多总结一下就是了解了数据结构以及复杂度、算法的概念学习了时间复杂度TN的计算方法以及O(N)表示法希望看这篇文章的同学都能够有所收获小编在这里谢谢大家的耐心观看一起进步一起加油