数据结构和算法
binaryshao
这个作者很懒,什么都没留下…
展开
-
“数据结构”的个人理解
数据结构的实现可以分为3个层次: 1. 抽象出某种结构中数据的组织方式和该结构操作数据的方式, 可使用图形表示,但不涉及具体如何实现具体到某种编程语言中(比如java),根据某种数据结构抽象出接口, 以展现出该结构操作数据的方式,比如java集合框架中的Collection、LIST等接口 此时的抽象可以再将某种数据结构抽象出几种不同特性的结构,比如SET和LIST接口编写...原创 2018-06-12 18:10:03 · 803 阅读 · 0 评论 -
Java集合框架(JCF)归纳总结
HashSet底层用`HashMap`实现允许`null`值不重复原理:HashMap.keySet(),`HashSet`的值用作`HashMap`的键TreeSetTreeMap排序,插入时比较次序,红黑树为了实现排序,须满足以下1条:TreeSet中的元素须实现Comparable接口或者构造TreeSet时须传入实现Comparable接口的类的对象...原创 2018-06-21 07:08:44 · 5845 阅读 · 0 评论 -
常用排序算法总结
排序算法的稳定性当待排序记录的关键字均不相同时,排序结果是惟一的,否则排序结果不唯一在待排序记录中,若存在多个关键字相同的记录,若排序前后这些具有相同关键字的记录之间的相对次序保持不变,则该排序方法是稳定的;否则就是不稳定的算法的就地性在运行过程中临时占用的存储空间随算法的不同而异,有的算法只需要占用少量的临时工作单元,而且不随问题规模的大小而改变,这是节省存储的算法...原创 2018-07-03 06:25:55 · 378 阅读 · 0 评论 -
常用查找算法总结
静态查找和动态查找这是针对查找表而言的动态表指查找表中有删除和插入操作的表无序查找和有序查找无序查找:被查找数列有序无序均可有序查找:被查找数列必须为有序数列平均查找长度(Average Search Length,ASL)顺序查找适用于存储结构为顺序存储或链接存储、数据量大不的线性表时间复杂度:O(n)二分查找也称为折半查找,这是一种有...原创 2018-08-06 15:44:56 · 406 阅读 · 0 评论 -
算法的复杂度分析到底是什么?
数组它可以说是最基础、最简单的数据结构了数组用一块连续的内存空间,来存储相同类型的一组数据最大的特点就是支持随机访问,时间复杂度为 O(1)但插入、删除操作也因此变得比较低效,平均情况时间复杂度为 O(n)在平时的业务开发中,我们可以直接使用编程语言提供的容器类,但是,如果是特别底层的开发,直接使用数组可能会更合适,因为容器类无法存储基本类型,对包装类的装箱拆箱会有一定的性能损耗为什...原创 2019-03-19 17:55:21 · 742 阅读 · 0 评论