随笔分类 -  数据结构与算法

摘要:## C语言实现 ``` #include #define MAX_SIZE 10 typedef struct { int queue[MAX_SIZE]; int front; int rear; } CircularQueue; void initializeQueue(CircularQue 阅读全文
posted @ 2023-08-12 21:38 __Helios 阅读(19) 评论(0) 推荐(0)
摘要:## C语言实现 > 涉及二级指针内存申请和释放 ### 结构体定义 ```c typedef int32_t DATA_TYPE; typedef struct { DATA_TYPE value; struct List *next; } List; ``` ### 相关方法实现 ``` #in 阅读全文
posted @ 2023-02-26 22:30 __Helios 阅读(48) 评论(0) 推荐(0)
摘要:package kemuyi; import com.sun.jmx.remote.internal.ArrayQueue; import org.junit.Test; import org.junit.experimental.theories.suppliers.TestedOn; impor 阅读全文
posted @ 2022-03-05 00:25 __Helios 阅读(55) 评论(0) 推荐(0)
摘要:数据结构 一、Stack 1.1 Java API Deque stack = new ArrayDeque<>(); // 或者是LinkedList<>() // @deprecated Stack stack = new Stack(); stack.push(); stack.pop(); 阅读全文
posted @ 2021-11-13 23:36 __Helios 阅读(84) 评论(0) 推荐(0)
摘要:1. 冒泡排序 最基础排序,一句话总结冒泡排序,对于给定的数组,如果是升序排序,每一趟排序,都会把最大的元素放置在当前趟次的最后位置; 冒泡排序,只会比较交换两个相邻的元素 时间复杂度:严格O(N^2) ,和数据无关; public static void bubbleSort(int[] arr) 阅读全文
posted @ 2021-04-03 19:40 __Helios 阅读(127) 评论(0) 推荐(0)
摘要:1. 前言 对于计算机而言,无论用什么语言编写的程序,最终都要转化为二进制进行运算 因为硬件的支持,PC的二进制运算速度比十进制的运算快的多,因此把普通变量的运算用位运算的方式实现,能极大的提升程序性能 2. 位运算 位运算一共有6种:与( & )、或( | )、非( ~ )、异或( ^ )、左移( 阅读全文
posted @ 2021-02-05 23:12 __Helios 阅读(236) 评论(0) 推荐(0)
摘要:1. 原则 1.1 递归三要素 1. 明确函数功能,先不管函数里面的代码逻辑是什么,首先要明确自己定义的函数用来干什么 2. 寻找递归结束条件,递归就是就是函数自己调用自己,不然就是就会出现死循环,最终导致栈溢出StackOveflowError 3. 寻找函数的等价关系式,不断的缩小参数范围 1. 阅读全文
posted @ 2020-08-08 15:43 __Helios 阅读(241) 评论(0) 推荐(0)
摘要:引言 Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky 基础二分 public int basicBinarySearch 阅读全文
posted @ 2020-08-05 22:45 __Helios 阅读(208) 评论(0) 推荐(0)