数据结构_复杂度+之后的事-1.18

学习内容

一. 复杂度(评价算法优劣)

本质是个函数 ,表示复杂度的函数。

O 渐进粗略表示,如O(1), O(N)。(这个符号以前在学拓扑结构时见过,现在回想,也确实是算法相关的):

1)常数用O(1)表示;

2)保留最高阶项,并去掉系数。2N^3+N+10----->O(N^3)。

3)对于多情况复杂度,按最复杂情况的计算。

时间复杂度(执行次数)

与语句执行次数有关的表达式。主要按逻辑执行次数,在实际代码中会有些冗余次数。

空间复杂度(额外变量个数)

与临时额外占用内存大小有关的表达式,即临时变量的个数。

例:N个元素的数组,为O(N);函数递归的F(N),也是N个地址,为O(N)。

相比时间,空间的额外地址是可以重复利用的。你再怎么使用一个N元素的数组,它还是只被分配了N个空间。

二. 算法初窥(有点劝退的感觉)

客户提一个需求,你可以想到多个不同的思路去写代码,再从这些思路中选择复杂度最小的一个思路。

(想不到,想不到,学了基础知识却无量的练习,漫长)

学习目标

想想之后的事

居然真的整一个月完成了从2023/12/18写的学习C语言目标,但是欠缺练题,练习的量。

  1. 再往后看,真的适合本科电子信息的岗位就是嵌入式软件了,那我可以学完C和数据结构就可以打住于语言,而转向复习或是学习硬件内存层面的知识。
  2. 若是继续通信网络相关,在我看了之后的内容(在linux里有相关的网络协议等),我还需要继续学,学完计算机系的人要学的东西。(所谓的网络,在实际应用中,需要类似java去落实,路漫漫)

之后的目标,要做的事:

我也不知道,毕业了简历石沉大海,时间不多了:

可能是什么牛客网,力扣之类的网站做做题目。

可能是看看诸如C++ primer plus之类的经典语言书籍。

可能是继续学着数据结构,C++,linux系统。

可能是转向嵌入式,看看什么ARM,linux系统。

可能是想做后端,学java了,看着和网络挺近,最起码是上学学的理论给实际落实了。

可能没准放弃了,做个小说家,做个文职,考公务员去了。

可能继续申博,读博士了,可我没有具体的研究方向。读博读博,确实是改命的良机,起码学校看你的学习成绩,除了成绩一无所有,可我没有热爱的具体的研究方向。

相关推荐
世人万千丶4 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
遇乐的果园7 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
延凡科技7 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
遇乐的果园8 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
从零开始的代码生活_8 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
可乐奶茶sky9 小时前
AI Agent 学习
人工智能·学习
茯苓gao9 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习
RD_daoyi11 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
chase。11 小时前
【学习笔记】PointWorld:迈向通用机器人操控的3D世界模型
笔记·学习·机器人
AOwhisky12 小时前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko