
数据结构与算法
天空海的眼·
这个作者很懒,什么都没留下…
展开
-
Java多线程轮流打印数字
Java多线程轮流打印数字原创 2021-12-22 15:01:25 · 941 阅读 · 0 评论 -
Java手写队列
java手写队列原创 2021-12-22 14:48:56 · 555 阅读 · 0 评论 -
数据结构-快速排序
接触到快排是在对Arrays.sort的排序底层进行研究的情况下,发现不接触算法,不看懂排序的原理,根本就不可能更深的去理解底层写法。Arrays.sort对基本数据结构的排序算法是采用的快排,对对象的排序算法是采用的归并排序。为什么要使用快排呢?因为快排的排序速度是极快的。为什么说快排不稳定呢?因为值相同的元素排序可能不同,而归并排序却很稳定。这也就是Arrays对基本数...原创 2017-12-18 13:42:56 · 690 阅读 · 0 评论 -
数据结构-冒泡排序与选择排序
关于数据结构,本人并没有进行系统的学习过,同时今天也为了加强基础并总结。于是,重新查阅了许多资料写下这篇博文。在对冒泡排序的研究过程中我发现了这样一个问题:正常的冒泡排序是这样的for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - 1 - i; j++) {原创 2017-12-18 13:45:27 · 1076 阅读 · 1 评论 -
数据结构-二分排序
接触到二分排序是在看二叉树的资料里看到的。建议如果还不会二分排序的先去看懂二分查询再来看就会很简单。以下,是我对二分排序进行的个人理解分块:public class Main { public static void main(String[] args) { int[] a = { 2, 5, 6, 9, 7, 4, 3 };原创 2017-12-18 14:00:46 · 1151 阅读 · 0 评论 -
数据结构-链表
所有关于数据结构这一块的知识今天刚接触,如有理解错误,感谢指出!在查阅数据结构理解的过程中,同时也第一次在优快云记录下博客。关于我所理解的链表举个例子:A有一个int数值 又有一个指针指向BB有一个int数值 又有一个指针指向C......然后就形成了一个单向链表,同时,每个节点里面都储存着一个int数值。A→B→C→...同理,如果B不仅保有指向C的指针原创 2017-12-18 14:06:21 · 992 阅读 · 0 评论 -
三分钟掌握位运算符——与(&)、非(~)、或(|)、异或(^)
位运算符的计算主要用在二进制中。 实际开发中也经常会遇到需要用到这些运算符的时候,同时这些运算符也被作为基础的面试笔试题。 所以了解这些运算符对程序员来说是十分必要的。 于此,记录下我所理解的运算符:如果以开关开灯论: 有这样两个开关,0为开关关闭,1为开关打开。与(&)运算与运算进行的是这样的算法: 0&0=0,0&1=0,1&0=0,1&1=1在与运算中两个开关是原创 2018-01-10 13:07:46 · 130884 阅读 · 16 评论 -
怎样对数组进行交集与并集运算
以下不代表最优解,只是在学习中突然想到要怎么对数组进行交集与并集的运算 所以在自己尝试写了一遍后记录下来。数组的并集给定两个数组: int[] a = {1, 2, 3, 4, 5}; int[] b = {2, 3, 5, 6, 7}; 输出: 1,2,3,4,5,6,7我的思路: 两个数组的交集第一时间想到的肯定是最简单的两两比较,如果相等就加进新数组,但是这样做会造成时间的大量浪费原创 2018-01-10 11:35:09 · 4376 阅读 · 0 评论