![](https://img-blog.csdnimg.cn/20210112174509108.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java数据结构和算法
文章平均质量分 65
学习《Java数据结构和算法》的过程中所得所悟
DonHear
一只无奈的胖猿
展开
-
选择排序
本章是对选择排序的分析和实现过程 《Java数据结构与算法》中的例子 棒球队员按身高从矮到高站队 生活中与程序规则的对比可以参考冒泡排序一章 冒泡排序 不同的是选择排序相对与冒泡排序,会省去很多元素交换时带来的开销 棒球队员开始站队之前,规定存在一个记牌器用于记录最矮队员现阶段的站位 开始两两人员进行比较,以0号队员为记牌器起点号码,当后面出现比其矮的队员,则在记牌器上替换下号码,但并不做位置交换 继续比较时则按照记牌器中现阶段存在的号码为基点,继续比较,以此类推 队列从头到尾比较完一趟时,记牌器上.原创 2021-01-30 13:51:49 · 511 阅读 · 3 评论 -
冒泡排序
《Java数据结构与算法》中提到,排序是计算机科学中广泛研究的课题 引用书中的例子: 一列棒球运动员从低到高的身高进行站队 在现实生活中,人可以看到所有运动员的情况,最高的那个可以瞬间找出,而且毫不费力的测量和比较每个人的身高,可以不拘泥于空间,并在推推搡搡中前后让为地排好队列 计算机程序却不能向人一样总览所有信息,程序只能在不断的比较和交换、复制中去遵循简单的规则,知道所有数据有序为止 冒泡排序 冒泡排序是对上述程序规则较好的体现 比较两人身高 如果左边身高,高于右边则两人交换位置,否则保持不变.原创 2021-01-29 14:28:47 · 335 阅读 · 0 评论 -
二分查找法分析
《Java数据结构与算法》中在对二分查找法做分析时,是以序数组是前提 有序数组 总所周知,在一系列面试题中都会对有序数组的特点进行描述 查找快,增删慢 如下代码中,可以得到分析 插入数据时,会线性查询出“第一个”值比插入数据大的下标索引,然后对索引(包含)后的值进行向后挪移,空出索引前一个下标位置,最后赋值 删除数据时,同理会线性查询,不同的是,值是向前进行挪移 由此可以得出在有序数组中,进行增删,是相对 消耗性能的 class OrderArray{ private long[] a.原创 2021-01-28 10:55:51 · 223 阅读 · 0 评论 -
《Java数据结构与算法》数组结构:手写分析基础增删查
《Java数据结构与算法》数组结构:手写分析基础增删查数组的概念特点Demo案例:增删查首先初始化一个固定数组向该数组插入一个元素(允许重复)查询指定元素返回下标值(允许重复)删除指定元素(允许重复)调用以上方法看效果 数组的概念 数组其实也是一个容器,可以用来存储固定个数相同类型的数据数组的定义 数组中存储的数据叫做元素 特点 数组是引用数据类型 数组初始化后长度固定 数组内元素类型必须保持一致 数组中的元素与元素之间的内存地址是连续的 以上是基本概念,大家一定不陌生 《Java数据结构和算法》原创 2021-01-12 18:10:10 · 120 阅读 · 0 评论