随笔分类 - 计算机素养养成计划
每天一篇计算机科普文章
摘要:链表 链表是啥 和数组属于同一中结构,都是线性表结构;但和数组不同的是,数组需要一组连续的内存空间来进行存储,而链表不需要; 链表通过指针将一组零碎的存储空间串联在一起使用,如下图所示. 链表的类型 单链表,双向链表,循环链表,双向循环链表 链表的特性 链表的最重要的特性就是指针和结点 结点 链表通
阅读全文
摘要:数组 数组用一块连续的内存空间,来存储相同类型的一组数据,最大的特点就是支持随机访问,但插入、删除操作也因此变得比较低效,平均情况时间复杂度为 O(n)。 在平时的业务开发中,我们可以直接使用编程语言提供的容器类,但是,如果是特别底层的开发,直接使用数组可能会更合适。 数组的基本概念 数组是一种线性
阅读全文
摘要:为啥要学习设计模式 1.对于我来说目前最直接的目的就是应对接下来的面试和涨薪; 2.学习设计模式可以让我在开发中能提高效率,降低bug 3.学习设计模式可以让我了解框架源码甚至以后都能开发出高质量的开源项目 评判代码质量好坏的标准 总结一句话,就是该程序拥有良好扩展性,维护方便,代码可读. 接下来我
阅读全文
摘要:复杂度介绍 在正式学习数据结构与算法之前,我们需要知道一个概念复杂度(时间复杂度和空间复杂度),它是干啥的? 它是学习数据结构与算法的基础,掌握了它就掌握了一半的数据结构与算法. 我们在平常开发或者代码review,程序压测,都需要进行评测代码执行效率和占用空间的大小. 以往我们在这方面的工作是,采
阅读全文
摘要:引言 大家都在说编程中一定要使用面向对象,但是我一直不太懂面向对象到底是个啥玩意?经过我不懈努力的研究,我终于简单的明白了面向对象的是个啥玩意。 面向对象是一种编程思想,这种编程思想一旦掌握,对开发都有巨大的好处。再说面向对象之前,我们先来看下面向过程是啥 面向过程 啥叫面向过程捏,面向过程就是根据
阅读全文
摘要:1.计算机的三个根本性基础 (1).计算机是执行输入、运算、输出的机器 (2).程序是指令和数据的集合 (3).计算机的"思维方式"与人类习惯不同,但是不断的往人类的思维习惯上靠近 2.输入、运算、输出是硬件的基础 (1).硬件定义 就是由大量的IC(集成电路)组成的 (2).输入、运算、输出的重要
阅读全文