数据结构和算法
呢喃coding
个人邮箱 : 1425809544@qq.com
手机号 : 13269918057
微信号 : wangzhezhilv0
展开
-
三个线程分别打印 A,B,C,要求这三个线程一起运行,打印 n 次,输出形如“ABCABCABC....”的字符串
1、使用 lock锁public class ThreeThreadPrint { //三个线程分别打印 A,B,C,要求这三个线程一起运行,打印 n 次,输出形如“ABCABCABC....”的字符串 private static ReentrantLock lock = new ReentrantLock(); private static volatile int state = 0; private static volatile int n = 2;原创 2022-03-19 11:15:05 · 606 阅读 · 0 评论 -
两个线程交替打印1-100
1、使用synchronize 的wait 和notify 控制 //private static volatile int total = 100; private static volatile int count = 1; private static Object object = new Object(); private static void useSyn() { Thread t1 = new Thread(() -> {原创 2022-03-19 07:32:42 · 693 阅读 · 0 评论 -
java使用循环和递归实现二分查找
1.二分查找:渐进时间复杂度 :它的时间复杂度是 O(logn)。2. 使用场景:二分查找依赖的是顺序表结构,简单点说就是数组;二分查找针对的是有序数据,二分查找只能用在插入、删除操作不频繁;数据量太小不适合二分查找;数据量太大也不适合二分查找,二分查找的底层需要依赖数组这种数据结构,而数组为了支持随机访问的特性,要求内存空间连续,对内存的要求比较苛刻。3. 代码实现:pa...原创 2019-10-23 11:00:41 · 244 阅读 · 0 评论