倒霉的菜鸟

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2021年10月6日

摘要: 1 public class RecursionTest { 2 3 4 /** 5 * 求n的阶乘 6 */ 7 private static int jiecheng(int n) { 8 if (n==1) { 9 return 1; 10 } 11 return n*jiecheng(n-1 阅读全文
posted @ 2021-10-06 20:25 倒霉的菜鸟 阅读(55) 评论(0) 推荐(0) 编辑

摘要: 有这样一道算法题, 假设有20个人围成一个圈,现在从第一个人开始报数,数到3的那个人出列,下一个人继续从1开始报数。。。。如此循环,最后剩下的人是谁? 首先我们定义一个单向循环链表 前文(从零开始学算法--自定义单链表 - 倒霉的菜鸟 - 博客园 (cnblogs.com))中已经自定义了单链表, 阅读全文
posted @ 2021-10-06 14:51 倒霉的菜鸟 阅读(57) 评论(0) 推荐(0) 编辑

摘要: 链表分为单向链表,双向链表,单向循环列表,双向循环链表 所谓单向链表是指 链表中的每个节点包含数据域和一个指针域, 指针域指向下一个节点, 如下图所示 知道了单链表的数据结构, 那么我们就先定义节点内部类Node,它包含了数据域item和指针域nextNode 1 public class Sing 阅读全文
posted @ 2021-10-06 14:00 倒霉的菜鸟 阅读(83) 评论(0) 推荐(0) 编辑

2021年10月5日

摘要: 先复习一些基本知识 链式存储的特点:用一组任意的存储单元(可以连续,也可以不连续)存储线性表的数据元素。 链式存储中每一个元素都是一个节点,每个节点中包含了数据域和指针域 相对数组存储来说,其优点是插入删除速度快,缺点是不支持随机访问,查询速度慢 什么是基数排序? 看看百度百科的定义: 基数排序(r 阅读全文
posted @ 2021-10-05 01:17 倒霉的菜鸟 阅读(164) 评论(0) 推荐(0) 编辑

2021年10月4日

摘要: 数据结构: 指计算机组织存储数据的方式, 其实就是数据之间的关系。我们通常从逻辑和存储两个角度来理解数据结构 逻辑结构:集合结构,线性结构,树形结构,图形结构 存储结构:表,数组,堆栈,队列,树,图。。。 衡量一个算法的优劣: 空间复杂度(算法运行时占用的内存空间)+时间复杂度(关键代码的执行次数) 阅读全文
posted @ 2021-10-04 22:47 倒霉的菜鸟 阅读(73) 评论(0) 推荐(0) 编辑

2021年9月26日

摘要: 调用sleep方法将时线程进入休眠状态 如 public class ThreadTest implements Runnable{ @Override public void run() { try { Thread.sleep(1000L); } catch (InterruptedExcept 阅读全文
posted @ 2021-09-26 17:05 倒霉的菜鸟 阅读(659) 评论(0) 推荐(0) 编辑

2021年9月24日

摘要: 1, 新建项目VariantTest 2, 生成keystore 可以看到, 默认的build variant只有debug一种 当我试图选release的时候,发现报错了 什么错呢 大致意思是说我们的app没有签名 我们知道签名需要一个keystore, 那么作为一个个人开发者,怎么获取keyst 阅读全文
posted @ 2021-09-24 23:28 倒霉的菜鸟 阅读(400) 评论(0) 推荐(0) 编辑

2021年9月22日

摘要: 我们通常说的保持同步,其实就是对共享资源的保护。在单线程模型中, 我们永远不用担心“多个线程试图同时使用同一个资源的问题”, 但是有了并发, 就有可能发生多个线程竞争同一个共享资源的问题。 就好比你正在餐厅里吃饭,当你拿起筷子正要夹盘子里的最后一块肉时, 这片肉突然消失了。因为你的线程被挂起了, 另 阅读全文
posted @ 2021-09-22 23:01 倒霉的菜鸟 阅读(3196) 评论(0) 推荐(0) 编辑

摘要: 简单理解启动线程的几种方式: 1. 实现Runnable接口创建一个任务, 调用myTask.run()方法来启动它 2, 构建Thread对象, 调用thread.start()方法启动 这里可以看到, 我们给Thread构造器传入了runable对象 细心的小伙伴看到这里可能会有疑惑, 我们知道 阅读全文
posted @ 2021-09-22 18:47 倒霉的菜鸟 阅读(1053) 评论(0) 推荐(0) 编辑

2021年9月20日

摘要: 概述 a, 我们知道LinkedList它的数据存储方式是双向链表,基于链表存储的特性, LinkedList具有查询较慢(顺序访问)但增加/删除较快(虽然要遍历到指定位置, 但是相对于数组存储来说不需要移位)的特点 b, 双向链表的作用, 我们在查询的时候,可以从前往后遍历, 也可以从后往前遍历, 阅读全文
posted @ 2021-09-20 16:38 倒霉的菜鸟 阅读(287) 评论(0) 推荐(0) 编辑