代数入门(〇) 〇、代数系统代数系统是数学中的一个重要概念,它涉及一组对象以及定义在这些对象上的运算规则。代数系统可以是抽象的,也可以是具体的。 在抽象代数中,代数系统通常由一组元素和一组操作(或称为运算)组成。这些操作可以是二元的(例如加法和乘法)或一元的(例如取负)。代数系统的运算必须符合一定的性质,例如结合律、交换律、单位元和逆元等。常见的抽象代数系统包括群、环、域和向量空间等。只要满足两个条件就是一个 2023-06-01 代数基础 > 量子计算导论 #抽象代数
Go Web下gin框架使用(一) 〇、前言在前面,已经在这篇文章中详细地讨论了 gin 框架下的模板渲染问题,这篇文章主要对 gin 框架的使用进行讨论。 一、不同的路由以下可以选择不同的路由进行渲染: 12345678910111213141516171819202122r := gin.Default() type usr struct { Name string `json:"name"` 2023-05-31 Golang 前端 #网络 #golang #后端 #前端
Go Web下gin框架的模板渲染 〇、前言Gin框架是一个用于构建Web应用程序的轻量级Web框架,使用Go语言开发。它具有高性能、低内存占用和快速路由匹配的特点,旨在提供简单、快速的方式来开发可扩展的Web应用程序。Gin框架的设计目标是保持简单和易于使用,同时提供足够的灵活性和扩展性,使开发人员能够根据项目的需求进行定制。它提供了许多有用的功能,如中间件支持、路由组、请求参数解析、模板渲染等,使开发人员能够快速构建高效的W 2023-05-23 Golang 前端 #网络 #golang #后端 #前端
【Golang】多线程排序 〇、前言本案例实现一个多线程排序算法,能够对给定的整数数组进行排序,使用 goroutines 对其进行并发化优化。 一、随机数生成器123456789101112131415func randProduce(randNums chan []int, wg *sync.WaitGroup) { for i := 0; i < 100; i++ { go rand1( 2023-05-08 Golang #算法 #开发语言 #golang
【Golang】多线程下载器的实现 〇、前言多线程下载,顾名思义就是对一个文件进行切片访问,等待所有的文件下载完成后在本地进行拼接成一个整体文件的过程。因此可以利用 golang 的多协程对每个分片同步下载,之后再合并且进行md5校验或者总长度校验。 一、请求资源下载文件的本质就是从服务器获取数据,更笼统地说就是向服务器发送 GET请求。 1.1 http1.1协议 HTTP1.1 协议(RFC2616)开始支持获取文件的部分内 2023-05-07 Golang #服务器 #golang #后端
【Golang】多线程爬虫的实现 〇、前言Golang 是一种并发友好的语言,使用 goroutines 和 channels 可以轻松地实现多线程爬虫。具体地说,实现的是多协程。协程是一种比线程更轻量化的最小逻辑可运行单位,它不受操作系统调度,由用户调度。因此对于协程并发的控制,有较高的要求。 一、goroutine(Go 协程)Go 协程(Goroutine)是与其他函数同时运行的函数。可以认为 Go 协程是轻量级的线程, 2023-05-05 Golang #开发语言 #golang #爬虫
【day11】链表高精度加法 题目 1:两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 2023-03-23 LeetCode #算法 #数据结构 #链表
【day10】链表的合并 题目 1:合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4] 思路:采用递归的方法: 12345678910111213class Solution { public ListNode 2023-03-22 LeetCode #算法 #数据结构 #链表
【day09】链表的旋转与反转 题目 1:旋转链表 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3] 思路 1:每次写后退一个,然后循环 k 次: 123456789101112131415161718192021222324252627struct ListNode* 2023-03-21 LeetCode #算法 #数据结构 #leetcode
【day08】移除与插入链表元素 题目 1:设计链表 你可以选择使用单链表或者双链表,设计并实现自己的链表。单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点。假设链表中的所有节点下标从 0 开始。实现 MyLinkedList 类:MyLinkedList() 初始化 MyLinke 2023-03-20 LeetCode #算法 #数据结构 #leetcode