![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java算法与工具:链表
济海河神
这个作者很懒,什么都没留下…
展开
-
常见的代码优化技术
常见的代码优化技术有:复写传播,删除死代码, 强度削弱,归纳变量删除如果有同学有研究过这部分内容,并总结过,有更好的答案,请联系我删除本篇非原创解答1.复写传播:a=d+e;b=d+e;c=d+e;===>t=d+e;a=t;b=t;c=t;复写语句:形式为f = g 的赋值优化过程中会大量引入复写复写传播变换的做法是在复写语句f = g后,尽可能用g代表f复写传播变换本身并不是优化,但它给其他优化带来机会 常量合并(编译时可完成的计算) 死代码删除2.死.原创 2022-04-06 20:24:01 · 948 阅读 · 0 评论 -
sleep\wait\yield\join
1.sleep()方法在指定时间内让当前正在执行的线程暂停执行,但不会释放“锁标志”。不推荐使用。sleep()使当前线程进入阻塞状态,在指定时间内不会执行。2.wait()方法在其他线程调用对象的notify或notifyAll方法前,导致当前线程等待。线程会释放掉它所占有的“锁标志”,从而使别的线程有机会抢占该锁。当前线程必须拥有当前对象锁。如果当前线程不是此锁的拥有者,会抛出IllegalMonitorStateException异常。唤醒当前对象锁的等待线程使用notify或noti.原创 2022-04-06 20:22:30 · 99 阅读 · 0 评论 -
java排序实现之基数排序
package com.attongji.sort.myself;import java.util.Arrays;public class RadixSort { public static void main(String[] args) { int[] arr = new int[10]; for (int i = 0; i < 10; i++) { arr[i...原创 2019-12-18 14:58:46 · 92 阅读 · 0 评论 -
java初步学习之队列
队列与链表相似,都是线性数据结构,实际队列是链表的子类。队列在处理数据遵循的是“先进先出”的原则,数据从队列尾部进入,从队列头出去。重要的一点是,队列中的数据处理只能在队列的头部尾部进行,较之链表稍显不灵活。以下是我从自学教材中截取的一段代码,细细分析有助于对队列知识点的认识。class Queue extends LinkList{ //队列是链表的子类 boolea原创 2016-03-04 22:46:53 · 285 阅读 · 0 评论 -
java链表初步学习
java中的链表和 c/c++ 一样,也是一种线性数据结构。和数组的功能有一定的相似,但是两者之间在某些方面还是存在很大的不同,简单的来说不同点有以下几点:1.在创建数组时,是一次性地开辟一整块内存空间,所有数组元素都是放在里面,必须说明数组的固定长度。而链表可以先创建一个链表头(实际就是第一个结点),在需要的时候动态地添加(扩展链表)2.数组的数据是按照元素顺序连续地存储在内存中的,原创 2016-02-20 12:44:04 · 1651 阅读 · 0 评论