• 数据结构与算法1-算法的特性


    目录

    算法的特性

    有穷性 

    确定性

    可行性

    有输入

    有输出

    设计原则

    正确性

    可读性

    健壮性

    高效率

    低消耗

    算法评价指标


    算法的特性

    在开始真正接触算法之前,我们需要先知道算法有哪些特性,这些特性不需要记,不需要背,你会说不出来,但,这些特性却会完美的体现在你的编码里。

    有穷性 

    指的是我们写出来的程序,我们写出来的算法,是能够执行完的,不是说是一个死循环,永远执行不完

    确定性

    指的是一定会有一个结果,一定会有一个确定的结果

    可行性

    这个就如同字面意思,写的这个程序,这个算法,是可行的,你要是不可行,写了有什么用,你说对吧~

    有输入

    这个,就相当贴切了,你写的程序,你写的算法,得有输入吧,你不能凭空就能跑吧

    有输出

    至于这个么,上面都说了,有输入,那你经过了一系列的运算,你总得有输出吧,不然你把我的数据吃了?

    设计原则

    上面说完了特性,当然就会有设计原则,任何程序,任何事情的开始,都一定有一个标准,算法也是一样的

    正确性

    这个不用我强调叭?我们写的程序啊,算法啊,都是为了解决问题的,那首先肯定是得正确,不然就得改,重写,对于问题来说,没法解决的程序,就是垃圾,没有任何用途,你不能说我用你写的代码,我卡卡的编译都过不去,或者启动还没跑呢就给我报错了,这是不是不得行

    可读性

    这个你看到的时候,可能会下意识的 ‘切’ 一声,然后缓缓的鄙视本楼主:‘喵的,锤子的可读性,只要能解决问题就行,只要老子写的舒服就行’

    介个,老实说,可读性这个不属于硬性要求,虽说有什么开发手册啊,开发规范啊,但是,你就算写的任何人都读不懂,也不影响使用

    但是!注意啊,但是来了,说明有别的

    写的那么反人类,谁都看不懂,你确定你自己过一段时间能看懂?万一有修改呢?程序算法这玩意修修补补的,很正常对吧,再者说了,你写的反人类的,谁都看不懂,别人怎么接

    呐呐呐,你可能会说这你都不关心,那你想想,你写的好了,自己看起来不爽吗?耶?这是我写的代码吗,帅啊,真是和我本人一样帅,如果你写的可读性很好,还可能被拉去大家都能看到,向你学习,你可能因此收获无数小迷妹,小迷弟,有可能突然就被哪个大机构大组织看上了,高薪聘请你去工作,这不香么,你的代码就是源码级别的玩意,倍儿有成就感对不对!

    健壮性

    至于这个健壮性吧,就是说,BUG少一点,问题少一点,那不能一会一个BUG,一会一个BUG,这个感觉你自己体会.......

    高效率

    这个高效率吧,直白一点,你的程序快一点,那不能我让你算个1+1等于几,好么,你给我算了一个小时,我上去就是几个大耳帖子

    低消耗

    这一点你可能会笑,你可能会说,啊,我们服务器内存很大,好几个T呢,不够?不够就扩容啊,啥?CPU?我们可是最强的至强U

    停停停停停!行行行,你是土豪,你们公司牛逼,但是兄弟啊,你怎么知道你的代码会在什么机器,什么场景状态下运行呢?

    如果就是不能给充足的内存呢?而且,一台服务器会跑n个服务,你的占用那么多,别的还玩不玩了,大家都占那么多怎么办,资源可不是无限的

    人类的科技发展到现在,不可否认的是,内存这种的,还是属于稀缺资源

    所以,可长点心吧,我不信你一个程序占用80%的CPU和内存,运维同事们能同意你这么搞,你的leader能同意你这么搞,除非公司你家的,那当我没说

    算法评价指标

    评价算法的两个指标就是:时间复杂度、空间复杂度

    时间复杂度,就是一个程序运行所需要耗费的时间

    空间复杂度,就是一个程序运行所需要消耗的内存

  • 相关阅读:
    API安全学习 - crAPI漏洞靶场与API测试思路
    【C语言 | 符号】C语言中符号易出错的地方
    Linux定时任务配置
    Vue页面生成PDF后调起浏览器打印
    牛客刷题<21>三段式状态机
    java计算机毕业设计广西科技大学第一附属医院陪护椅管理MyBatis+系统+LW文档+源码+调试部署
    【C++篇】AVL树
    C#面:dot net core里面的路径是如何处理的?
    Spring 远程命令执行漏洞分析(CVE-2022-22965)
    MyBatis学习:mapper.xml文件中传参时,标签使用javaType和jdbcType属性
  • 原文地址:https://blog.csdn.net/weixin_46097842/article/details/123335357