- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 ETS与DETS区别
前面学习了ETS表与DETS表,也知道了他们的区别,但都过于干巴巴,现在我们来演示一下DETS中没有ordered_set类型的表;DETS磁盘文件的大小不能超过2 GB;表的创建和关闭有些变化。创建新的数据库表要调用dets:open_file/2,关闭这个表可以调用dets:close/1。此后,可以调用dets:open_file/1重新打开该表ETS表格内部的操作是原子的,可以保证数据的一致性。对于ETS表格的操作,要么全部成功执行并提交,要么在失败时回滚。
2023-07-25 23:51:05
183
原创 Linux 学习笔记
Linux 是一种自由和开放源码的类 UNIX 操作系统。它具有开方性,多任务,多用户,设备独立性,丰富的网络功能,可靠的系统安全,良好的可移植性等特点。
2023-07-12 22:24:48
278
1
原创 EUnit 单元测试框架
EUnit提供了一些非常有用的宏。它们提供了更整洁的报告(包括行号)和更清晰的语义。从根本上说,就是一种可以自动运行模块中名字以_``test()结尾的函数的方法,EUnit会把这些函数看作单元测试。EUnit是一种用于进行单元测试的框架。仍在le1_tests.erl文件中添加。
2023-07-11 21:43:26
155
原创 Erlang行为(behavior)
有时候,我们希望一些模块能够分享一个开放的 API 接口,在 Erlang 里的解决方案就是行为(behavior)。定义一组需要被实现的函数检查这组函数是否真的被实现Erlang 预定义了好一些行为,例如 gen_server,gen_fsm等,但这里我们演示怎么定义自己的行为用worker 模块来具体实现一组行为。这些 workers 都应该实现两个函数:init/1 和 perform/2。
2023-07-10 23:53:12
347
1
原创 ErlangOTP 构建应用——进程池
将使用通用服务器(gen_sever)、FSM(gen_fsm)、事件处理器(gen_event)以及监督者(supervisor)构建应用进行简单实战。
2023-07-05 23:05:11
267
原创 Erlang OTP 学习笔记
Erlang的巨大优势一部分来自于其并发和分布式特性,还有一部分来自其错误处理能力,那么OTP框架则是第三部分。OTP(Open Telecom Platform) 是一套用于构建可伸缩、容错和并发应用程序的开发框架和方法论。它是 Erlang 语言的一个重要组成部分,由爱立信公司(Ericsson)开发并开源。Erlang/OTP 提供了一些预定义的原语,开发者可以基于这些原语构建自定义的进程模型,从而遵循一致的设计模式和最佳实践。
2023-06-25 22:55:12
577
1
原创 Redis——HyperLogLog讲解
是用来做的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。...
2022-06-05 22:47:10
696
1
原创 基数排序详讲
是一种,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。
2022-06-03 22:55:40
206
原创 快速排序详讲
快速排序是对冒泡排序的一种改进,由 C.A.R.Hoare(Charles Antony Richard Hoare,东尼·霍尔)在 1962 年提出。快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另一部分的所有数据要小,再按这种方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,使整个数据变成有序序列。
2022-06-01 18:47:18
175
1
原创 希尔排序详讲
希尔排序前言一、希尔排序是什么二、希尔排序步骤1.分组2.插入排序,每次分完组就在每组之间继续插入排序总结前言学习希尔排序之前要了解一下插入排序一、希尔排序是什么希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:1:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;2:但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位;希尔排序的基本思想是:先将整个待排序的记
2022-05-31 18:45:10
235
原创 力扣:19. 删除链表的倒数第 N 个结点
9. 删除链表的倒数第 N 个结点1. 题目2. 思路3. 题解4. 执行结果1. 题目链接https://leetcode.cn/problems/remove-nth-node-from-end-of-list/2. 思路这题的解法很多,我才用的是用快慢指针的方式。快指针先走n然后快慢指针一起走,直到快指针走到尾节点.此时的慢指针指向的就是倒数的n+1个节点.3. 题解代码如下/** * Definition for singly-linked list. * public
2022-05-31 17:23:46
408
原创 插入排序详讲
插入排序详讲一、插入排序是什么二、插入排序步骤1. 将未插入的一个数据插入到已排序的数列2.读入数据总结一、插入排序是什么插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。就跟打扑克牌整理牌差不多。插入排序就是将未排序的数据与以在已排序的数列进行扫描。找到相应位置插入。二、插入排序步骤1. 将未插入的一个数据插入到已排序的数列代码如下:public void inertion(int[] arr, int i) { int n = i;
2022-05-30 23:21:59
209
1
原创 堆排序详讲
堆排序一、堆排序是什么?二、堆排序步骤1.将某一节点变为大顶堆2.将数组变为大顶堆3.把堆首与堆尾交换顺序,并把堆的大小减一完整代码总结一、堆排序是什么?堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法:1.大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列;2.小顶堆:每个节点的值都小于或等
2022-05-30 12:12:28
706
2
原创 力扣:121. 买卖股票的最佳时机 题解
力扣:121. 买卖股票的最佳时机1 题目描述2 题解1 题目描述给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/best-time-to-buy-and-s
2022-05-25 22:28:20
487
1
原创 Axios实现简单的异步请求
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Axios是什么?二、使用步骤1.引入库2.HTML页面使用1.在.html文件添加2.Axios的使用3.后端的处理请求4.结果总结前言—在web项目中实现简单的异步请求。提示:以下是本篇文章正文内容,下面案例可供参考一、Axios是什么?Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get、post请求二、使用步骤1.引入库使用maven引入依赖包 <d.
2022-05-24 22:18:19
1359
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人