文心一言 VS 讯飞星火 VS chatgpt (128)-- 算法导论11.1 3题

news2024/11/28 17:38:55

三、用go语言,试说明如何实现一个直接寻址表,表中各元素的关键字不必都不相同,且各元素可以有卫星数据。所有三种字典操作(INSERT、DELETE和SEARCH)的运行时间应为O(1)(不要忘记 DELETE 要处理的是被删除对象的指针变量,而不是关键字。)

文心一言,代码正常运行:

在 Go 语言中,我们可以使用 map 数据结构来实现直接寻址表。这是因为 Go 的 map 底层是一个哈希表,其查找、插入和删除操作的时间复杂度都是 O(1)。

以下是一个实现:

package main  
  
import "fmt"  
  
// 定义卫星数据类型  
type satelliteData struct {  
    data int  
}  
  
// 定义直接寻址表结构  
type directAddressTable struct {  
    table map[int]*satelliteData  
}  
  
// 创建新的直接寻址表  
func NewDirectAddressTable() *directAddressTable {  
    return &directAddressTable{table: make(map[int]*satelliteData)}  
}  
  
// 插入元素  
func (d *directAddressTable) Insert(key int, satelliteData *satelliteData) {  
    d.table[key] = satelliteData  
}  
  
// 删除元素  
func (d *directAddressTable) Delete(key int) {  
    delete(d.table, key)  
}  
  
// 查找元素  
func (d *directAddressTable) Search(key int) *satelliteData {  
    return d.table[key]  
}  
  
func main() {  
    // 创建新的直接寻址表  
    dart := NewDirectAddressTable()  
  
    // 创建卫星数据  
    satellite1 := &satelliteData{data: 100}  
    satellite2 := &satelliteData{data: 200}  
  
    // 插入卫星数据到直接寻址表  
    dart.Insert(1, satellite1)  
    dart.Insert(2, satellite2)  
  
    // 搜索元素  
    fmt.Println(dart.Search(1).data) // 输出: 100  
    fmt.Println(dart.Search(2).data) // 输出: 200  
  
    // 删除元素  
    dart.Delete(1)  
    fmt.Println(dart.Search(1)) // 输出: <nil>,因为元素已被删除  
}

这个实现中,卫星数据被存储在直接寻址表的 map 中。卫星数据是一个简单的结构,包含一个 int 类型的字段。直接寻址表包含一个卫星数据的指针的 map。这样,我们可以存储和操作卫星数据,而关键字就是卫星数据的键。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

讯飞星火,代码正常运行:

要实现一个直接寻址表,我们可以使用哈希表作为底层数据结构。哈希表的优点是查找、插入和删除操作的时间复杂度都是O(1)。以下是使用Go语言实现的直接寻址表:

package main

import (
	"fmt"
)

type Entry struct {
	Key   int
	Value interface{}
}

type HashTable struct {
	table []*Entry
	size  int
}

func NewHashTable(size int) *HashTable {
	return &HashTable{
		table: make([]*Entry, size),
		size:  size,
	}
}

func (h *HashTable) hash(key int) int {
	return key % h.size
}

func (h *HashTable) Insert(key int, value interface{}) {
	index := h.hash(key)
	entry := &Entry{Key: key, Value: value}
	h.table[index] = entry
}

func (h *HashTable) Search(key int) (interface{}, bool) {
	index := h.hash(key)
	entry := h.table[index]
	if entry == nil || entry.Key != key {
		return nil, false
	}
	return entry.Value, true
}

func (h *HashTable) Delete(key int) {
	index := h.hash(key)
	entry := h.table[index]
	if entry == nil || entry.Key != key {
		return
	}
	h.table[index] = nil
}

func main() {
	hashTable := NewHashTable(10)
	hashTable.Insert(1, "one")
	hashTable.Insert(11, "eleven")
	hashTable.Insert(21, "twenty one")

	value, ok := hashTable.Search(1)
	fmt.Println("Search key 1:", value, ok)

	value, ok = hashTable.Search(11)
	fmt.Println("Search key 11:", value, ok)

	value, ok = hashTable.Search(21)
	fmt.Println("Search key 21:", value, ok)

	hashTable.Delete(11)
	value, ok = hashTable.Search(11)
	fmt.Println("Search key 11 after delete:", value, ok)
}

在这个实现中,我们定义了一个Entry结构体来存储键值对,以及一个HashTable结构体来表示哈希表。HashTable包含一个table切片,用于存储Entry指针。我们还实现了InsertSearchDelete方法,分别用于插入、查找和删除元素。这些方法的时间复杂度都是O(1)。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

360智脑,代码不能运行:

直接寻址表是一种基于关键字的线性数据结构,其中每个元素都有一个唯一的关键字。在直接寻址表中,可以通过关键字快速访问元素。为了在O(1)的时间复杂度内执行INSERT、DELETE和SEARCH操作,我们可以使用Go语言实现以下代码:

package main

import (
    "fmt"
)

type Data struct {
    key int
}

type DirectAddress struct {
    table [100]map[int]*Data
}

func NewDirectAddress() *DirectAddress {
    return &DirectAddress{}
}

func (da *DirectAddress) Insert(x *Data) {
    if len(*da.table) >= 100 {
        fmt.Println("Table is full.")
        return
    }

    table := (*da.table)[:100]
    for k, d := range x.key {
        table = table[k : k+100]
    }

    table = make(map[int]*Data)
    for i, key := range table {
        if key == x.key {
            *da.table[i] = x
            return
        }
    }
    table[x.key] = x
}

func (da *DirectAddress) Delete(x *Data) {
    if len(*da.table) == 0 {
        fmt.Println("Table is empty.")
        return
    }

    table := (*da.table)[:100]
    for k, d := range x.key {
        table = table[k : k+100]
    }

    for i, key := range table {
        if key == x.key {
            delete(table, i)
            return
        }
    }
    fmt.Println("No element found with the key:", x.key)
}

func (da *DirectAddress) Search(x *Data) *Data {
    if len(*da.table) == 0 || (*da.table)[0][x.key] == nil {
        fmt.Println("Table is empty or first entry has no卫星数据.")
        return nil
    }

    table := (*da.table)[:100]
    for k, d := range x.key {
        table = table[k : k+100]
    }

    return (*da.table)[0][x.key]
}

func main() {
    da := NewDirectAddress()
    da.Insert(&Data{key: 1})
    da.Insert(&Data{key: 2})
    da.Insert(&Data{key: 3})

    da.Delete(&Data{key: 1})
    da.Search(&Data{key: 1})
}

在上述代码中,我们使用了Go语言的map数据结构来存储元素及其关键字。在插入、删除和搜索操作中,我们遍历整个键值对,以便在O(1)的时间内完成操作。此外,我们还使用了指针来访问卫星数据,以获得更好的性能。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

智谱清言,代码不能运行:

在 Go 语言中,可以使用哈希表实现直接寻址表。为了实现 O(1) 的时间复杂度,我们需要对哈希表进行一定的优化。以下是一个直接寻址表的实现,包括 INSERT、DELETE 和 SEARCH 操作:

package main
import (  
	"container/hash"  
	"fmt"  
)
type Node struct {  
	Key   string  
	Value  interface{}  
	Next  *Node  
}
type DirectAddressTable struct {  
	Size      int  
	HashCode  int  
	Root      *Node  
}
func NewDirectAddressTable(size int) *DirectAddressTable {  
	return &DirectAddressTable{  
		Size:  size,  
		HashCode: -1,  
		Root:   nil,  
	}  
}
func (d *DirectAddressTable) INSERT(key string, value interface{}) {  
	if d.HashCode == -1 {  
		d.HashCode = calculateHashCode(key)  
	}  
	node := &Node{Key: key, Value: value}  
	insertNode(d.Root, node)  
	d.Size++  
}
func insertNode(node *Node, newNode *Node) {  
	if node == nil {  
		return  
	}
	if newNode.Key < node.Key {  
		node.Next = insertNode(node.Next, newNode)  
	} else {  
		newNode.Next = node  
	}  
}
func (d *DirectAddressTable) SEARCH(key string) (interface{}, bool) {  
	node := d.searchNode(d.Root, key)  
	if node != nil {  
		return node.Value, true  
	}  
	return nil, false  
}
func searchNode(node *Node, key string) *Node {  
	if node == nil {  
		return nil  
	}
	if node.Key == key {  
		return node  
	}
	if key < node.Key {  
		return searchNode(node.Next, key)  
	}
	return searchNode(node.Next, key)  
}
func (d *DirectAddressTable) DELETE(key string) {  
	d.Root = d.deleteNode(d.Root, key)  
	d.Size--  
}
func deleteNode(node *Node, key string) *Node {  
	if node == nil {  
		return nil  
	}
	if key < node.Key {  
		node.Next = deleteNode(node.Next, key)  
	} else if key == node.Key {  
		if node.Next == nil {  
			return nil  
		}  
		nextNode := node.Next  
		node.Next = nil  
		return nextNode  
	}
	return deleteNode(node.Next, key)  
}
func calculateHashCode(key string) int {  
	hashCode := 0  
	for _, char := range key {  
		hashCode = hash.String(char) + hashCode  
	}  
	return hashCode  
}
func main() {  
	table := NewDirectAddressTable(10)  
	table.INSERT("apple", "fruit")  
	table.INSERT("banana", "fruit")  
	table.INSERT("orange", "fruit")
	value, found := table.SEARCH("apple")  
	if found {  
		fmt.Println("Found:", value)  
	} else {  
		fmt.Println("Not found")  
	}
	table.DELETE("apple")  
	value, found = table.SEARCH("apple")  
	if found {  
		fmt.Println("Found:", value)  
	} else {  
		fmt.Println("Not found")  
	}  
}

在这个实现中,我们使用了一个指向下一个节点的指针来实现卫星数据。INSERT、DELETE 和 SEARCH 操作的运行时间均为 O(1)。但是,这个实现使用了一个简单的字符串哈希函数,可能在实际应用中不能保证 O(1) 的时间复杂度。为了达到 O(1) 的时间复杂度,可以使用更高效的哈希函数或改进的查找算法。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

通义千问,代码正常运行,加上package main:

在Go语言中,你可以使用map来实现直接寻址表。map是一个关联数组或哈希表的别名,它将唯一的键与对应的值相关联。其插入、删除和查找操作的时间复杂度都是O(1),这符合题目要求。

下面是一个简单的例子:

type SatelliteData struct {
    // 定义卫星数据的结构
}

func main() {
    directAddressingTable := make(map[string]*SatelliteData)

    // 插入元素
    satelliteData := &SatelliteData{}
    directAddressingTable["key"] = satelliteData

    // 查找元素
    if value, ok := directAddressingTable["key"]; ok {
        fmt.Println("Found:", value)
    } else {
        fmt.Println("Not found")
    }

    // 删除元素
    delete(directAddressingTable, "key")

    // 验证元素是否已删除
    if _, ok := directAddressingTable["key"]; !ok {
        fmt.Println("Deleted")
    }
}

在这个例子中,我们定义了一个名为SatelliteData的结构体作为卫星数据。然后我们创建了一个空的map,并将其类型设置为字符串到SatelliteData指针的映射。我们可以通过给定的键来插入、查找和删除元素。

注意,当我们删除一个元素时,我们传递的是键,而不是值或卫星数据。这是因为map是通过键来访问其元素的。一旦我们将一个特定的键与一个值关联起来,我们就不能再改变这个键,否则我们就会失去对那个值的引用。因此,如果我们想要删除一个元素,我们需要知道它的键。

在这里插入图片描述

在这里插入图片描述

天工,代码正常运行:

在Go语言中,我们可以使用哈希表来实现一个直接寻址表,即通过关键字直接访问表中元素的数据结构。下面是一个简单的示例代码:

package main

import "fmt"

type Node struct {
    Key     int
    Data    string
    Deleted bool
}

type DirectAddressTable struct {
    Table []*Node
}

func NewDirectAddressTable(size int) *DirectAddressTable {
    return &DirectAddressTable{
        Table: make([]*Node, size),
    }
}

func (dat *DirectAddressTable) Insert(key int, data string) {
    node := &Node{
        Key:  key,
        Data: data,
    }
    dat.Table[key] = node
}

func (dat *DirectAddressTable) Delete(key int) {
    if dat.Table[key] != nil {
        dat.Table[key].Deleted = true
    }
}

func (dat *DirectAddressTable) Search(key int) *Node {
    if dat.Table[key] != nil && !dat.Table[key].Deleted {
        return dat.Table[key]
    }
    return nil
}

func main() {
    dat := NewDirectAddressTable(100)

    dat.Insert(10, "Data for key 10")
    dat.Insert(20, "Data for key 20")
    dat.Insert(30, "Data for key 30")
    dat.Insert(40, "Data for key 40")

    fmt.Println(dat.Search(10))
    fmt.Println(dat.Search(20))
    fmt.Println(dat.Search(30))
    fmt.Println(dat.Search(40))

    dat.Delete(20)

    fmt.Println(dat.Search(20))
}

在这个示例中,我们通过定义一个Node结构体来表示直接寻址表中的元素,每个元素包含一个关键字Key和卫星数据Data。DirectAddressTable结构体表示整个直接寻址表,其中Table是一个指向Node的切片,在Insert操作中,我们将Key作为索引,将Node插入到Table中相应的位置;Delete操作中,我们将Deleted字段置为true表示该元素已被删除;Search操作中,我们根据Key来查找并返回相应的Node,如果Node存在且未被删除,则返回该Node,否则返回nil。

这样一来,对于Insert、Delete和Search操作,它们都能够以O(1)的时间复杂度完成,因为我们直接通过Key来访问和操作对应的元素。需要注意的是,Delete操作要处理的是被删除对象的指针变量,而不是关键字本身。

以上是一个简单的直接寻址表的实现示例,你可以根据自己的需求进一步扩展和优化代码。

在这里插入图片描述

在这里插入图片描述

灵小智,代码正常运行:

在Go语言中,可以使用哈希表(hash table)来实现一个直接寻址表,满足各元素关键字不必都不相同,且各元素可以有卫星数据的要求。哈希表是一种根据关键字的哈希值进行快速查找的数据结构。

下面是一个简单的示例代码,演示如何使用哈希表实现直接寻址表,并保证INSERT、DELETE和SEARCH操作的运行时间为O(1):

package main

import (
	"fmt"
)

type Element struct {
	Key        int
	Satellite  string
	Next       *Element
}

type Dictionary struct {
	Table []*Element
	Size  int
}

func NewDictionary(size int) *Dictionary {
	return &Dictionary{
		Table: make([]*Element, size),
		Size:  size,
	}
}

func (d *Dictionary) hash(key int) int {
	return key % d.Size
}

func (d *Dictionary) Insert(key int, satellite string) {
	hashKey := d.hash(key)
	element := &Element{Key: key, Satellite: satellite}

	if d.Table[hashKey] == nil {
		d.Table[hashKey] = element
	} else {
		current := d.Table[hashKey]
		for current.Next != nil {
			current = current.Next
		}
		current.Next = element
	}
}

func (d *Dictionary) Delete(key int) {
	hashKey := d.hash(key)
	element := d.Table[hashKey]

	if element == nil {
		return
	}

	if element.Key == key {
		d.Table[hashKey] = element.Next
	} else {
		for element.Next != nil {
			if element.Next.Key == key {
				element.Next = element.Next.Next
				break
			}
			element = element.Next
		}
	}
}

func (d *Dictionary) Search(key int) *Element {
	hashKey := d.hash(key)
	element := d.Table[hashKey]

	for element != nil {
		if element.Key == key {
			return element
		}
		element = element.Next
	}

	return nil
}

func main() {
	dict := NewDictionary(10)

	dict.Insert(1, "Satellite 1")
	dict.Insert(2, "Satellite 2")
	dict.Insert(11, "Satellite 3") // 示例中使用了不同的关键字

	// 搜索元素
	elem := dict.Search(1)
	fmt.Printf("Key: %d, Satellite: %s\n", elem.Key, elem.Satellite)

	// 删除元素
	dict.Delete(2)
	elem = dict.Search(2)
	if elem == nil {
		fmt.Println("Element not found.")
	} else {
		fmt.Printf("Key: %d, Satellite: %s\n", elem.Key, elem.Satellite)
	}
}

在上述示例中,我们通过NewDictionary函数创建一个新的直接寻址表,并指定其大小。Insert函数用于向直接寻址表中插入元素,Delete函数用于删除指定关键字的元素,Search函数用于查找指定关键字的元素。哈希函数采用简单的取模运算的方式,将关键字映射到哈希表的索引位置。

需要注意的是,实现O(1)的操作时间是在平均情况下成立的,对于极端情况下的哈希冲突,可能会导致操作时间增加到O(n)。可以通过使用更好的哈希函数或解决冲突的方法来进一步优化实现。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

chatgpt,代码正常运行,加上package main和main函数:

要实现一个直接寻址表(Direct Addressing Table),可以使用Go语言中的数组来表示。以下是一个示例代码:

type DirectAddressTable struct {
    data []*Element // 用于存储元素的数组
}

type Element struct {
    key      int         // 元素关键字
    satellite interface{} // 卫星数据,可以根据需求选择合适的类型
}

func NewDirectAddressTable(size int) *DirectAddressTable {
    return &DirectAddressTable{
        data: make([]*Element, size),
    }
}

func (dat *DirectAddressTable) Insert(key int, satellite interface{}) {
    element := &Element{
        key:      key,
        satellite: satellite,
    }
    
    dat.data[key] = element
}

func (dat *DirectAddressTable) Delete(key int) {
    dat.data[key] = nil
}

func (dat *DirectAddressTable) Search(key int) (*Element, bool) {
    element := dat.data[key]
    
    if element != nil && element.key == key {
        return element, true
    }
    
    return nil, false
}

上述代码中,DirectAddressTable 结构体表示直接寻址表,其中 data 是一个指向 Element 结构体的指针数组,用于存储元素。

Insert 方法中,创建一个新的 Element 对象,并将其放置在正确的位置上(由关键字决定)。这样可以保证插入操作具有 O(1) 的运行时间。

Delete 方法中,将指定位置上的元素设置为 nil 来删除元素。需要注意的是,这里操作的是指针变量,而不是关键字本身。

Search 方法中,根据给定的关键字查找元素。如果找到匹配的元素,则返回该元素以及 true;否则返回 nilfalse

需要注意的是,上述代码中直接使用整数作为关键字,在实际应用中可能需要根据具体需求修改关键字类型和数据结构的大小。

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1174887.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

没想到这么齐全!这份 Python 实战干货yyds

今天我分享一些Python学习神器资料&#xff0c;有需要的小伙文末自行免费领取。 1.200Python练手案例&#xff1a; 2.Python全套视频教程等&#xff1a; 3.浙大Python学习套装&#xff1a; * 4.Python实战案例&#xff1a; 5.Pandas学习大礼包 6.学习手册大礼包 Python知识…

cocosCreator微信小游戏 之 登录流程(三)

creator版本&#xff1a; 3.8.0 语言&#xff1a; TypeScript 环境&#xff1a; Mac 流程 微信小游戏在微信平台中运行&#xff0c;第一步操作就是登录。在登录之后才能&#xff1a; 更方便的获取微信提供的用户身份标识更方便的验证数据传递的合法性 在微信平台中&#x…

如何在苹果Mac系统设置中查看Wi-Fi密码?

在 Mac 上查找保存的 Wi-Fi 密码的最简单方法之一是从系统设置内的高级 Wi-Fi 首选项页面。您可以通过下面的方式访问此页面来查找您保存的 Wi-Fi 密码。 1.在 Mac 上&#xff0c;选取「苹果菜单」选择「系统设置」。 2.从侧边栏中选择「Wi-Fi」&#xff0c;单击「高级」。 3.…

Git同时配置Gitee和GitHub

Git同时配置Gitee和GitHub 一、删除原先ssh密钥二、生成密钥 这里的同时配置是针对于之前配置过单个gitee或者github而言的&#xff0c;如果需要看git从安装开始的配置&#xff0c;则可以看这一篇文章 git安装配置教程 一、删除原先ssh密钥 在C盘下用户/用户名/.ssh文件下找到…

golang实现极简todolist

ToDoList 最近跟着qimi老师做了一个ToDoList&#xff0c;我做的GitHub地址贴在这里&#xff0c;但由于前端出了点问题&#xff0c;所以都是用postman进行测试 原项目地址 部分功能展示 删除代办 查找代办 下面给出思路 思路 其实这是一个很简单的增删改查的实现&#xff…

Linux命令--mkdir创建目录的方法

原文网址&#xff1a;Linux命令--mkdir创建目录的方法_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux创建目录命令--mkdir的用法。 格式 mkdir [选项] 目录… -m, –mode模式&#xff0c;设定权限<模式> (类似 chmod)&#xff0c;而不是 rwxrwxrwx 减 umask-p, --p…

【java学习—十三】处理流之二:转换流(2)

文章目录 1. 相关概念2. 转换输入流3. 转换输出流 1. 相关概念 转换流提供了在字节流和字符流之间的转换。 Java API 提供了两个转换流&#xff1a;     InputStreamReader 和 OutputStreamWriter     当字节流中的数据都是字符时&#xff0c;转成字符流操作更高效。…

Python---字符串中的查找方法--rfind()与rindex()方法----括号里是要获取的字符串

r right&#xff0c;代表从右开始查找 基本语法&#xff1a; 字符串序列.rfind(子串) 字符串序列.rindex(子串) 强调&#xff1a; rfind()方法 与 rindex()方法 适合于查找子串在字符串中出现了多次的情况 rfind()方法 案例&#xff1a; 有一个文件名称叫20210310…

深度学习之基于Tensorflow卷积神经网络花卉识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习是一种机器学习方法&#xff0c;它通过模拟人脑神经网络的结构和功能来实现对数据的自动分析和学习。卷积神…

差生文具多之(一)eBPF

前言 在问题排查过程中, 通常包含: 整体观测, 数据采集, 数据分析这几个阶段. 对于简单问题的排查, 可以跳过前两个步骤, 无需额外收集数据, 直接通过分析日志中的关键信息就可以定位根因; 而对于复杂问题的排查, 为了对应用的行为有更完整的了解, 可以通过以下形式收集更多的…

程序员成长树

- 10年以后我在做什么&#xff1f; 成为项目负责人&#xff08;管理事、管理人&#xff09; - 如何处理同事的关系: 平时生活中最简单的一句问候&#xff0c;闲暇时间的聊天了解&#xff0c;互帮互助 - miss yang: - 1、软件UI设计 - 2、需求分析 - 3、协调推进任务的安排 …

linux 驱动——字符设备驱动(自动生成设备节点文件)

文章目录 字符设备驱动字符设备 APP生成 dev 节点的原理配置内核自动创建设备节点模块使用 字符设备驱动 #include "linux/device/class.h" #include "linux/export.h" #include "linux/uaccess.h" #include <linux/types.h> #include &l…

10 DETR 论文精读【论文精读】End-to-End Object Detection with Transformers

DETR 这篇论文&#xff0c;大家为什么喜欢它&#xff1f;为什么大家说它是一个目标检测里的里程碑式的工作&#xff1f;而且为什么说它是一个全新的架构&#xff1f; 大家好&#xff0c;今天我们来讲一篇 ECC V20 的关于目标检测的论文。它的名字想必大家都不陌生&#xff0c;也…

Python---字符串中的查找方法--index()--括号里是要获取的字符串

index()方法其功能与find()方法完全一致&#xff0c;唯一的区别在于当要查找的子串没有出现在字符串中时&#xff0c;find()方法返回-1&#xff0c;而index()方法则直接 报错。 find()方法相关链接&#xff1a;Python---字符串中的查找方法--find&#xff08;&#xff09;--括…

排序——冒泡排序

冒泡排序的基本思想 从前往后&#xff08;或从后往前&#xff09;两两比较相邻元素的值&#xff0c;若为逆序&#xff08;即 A [ i − 1 ] < A [ i ] A\left [ i-1\right ]<A\left [ i\right ] A[i−1]<A[i]&#xff09;&#xff0c;则交换它们&#xff0c;直到序列…

【漏洞复现】Nginx_(背锅)解析漏洞复现

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 1.5、深度利用GetShell 1.1、漏洞描述 这个漏洞其实和代码执行没有太大关系&…

基础Redis-Java客户端操作介绍

Java客户端操作介绍 2.基础-Redis的Java客户端a.介绍b.Jedisc.Jedis连接池d.SpringDataRedise.SpringDataRedis的序列化方式f.StringRedisTemplate 2.基础-Redis的Java客户端 a.介绍 Jedis 以Redis命令作为方法名称&#xff0c;学习成本低&#xff0c;简单实用。但是Jedis实例…

C++: 类和对象(中)

文章目录 1. 类的6个默认成员函数2. 构造函数构造函数概念构造函数特性特性1,2,3,4特性5特性6特性7 3. 析构函数析构函数概念析构函数特性特性1,2,3,4特性5特性6 4. 拷贝构造函数拷贝构造函数概念拷贝构造函数特性特性1,2特性3特性4特性5 5. 运算符重载一般运算符重载赋值运算符…

大模型进展的主要观点综述

大模型模式的意义可以用两个词来概括&#xff1a;涌现和同质化。涌现意味着一个系统的行为是隐含诱导的&#xff0c;而不是明确构建的;它既是科学兴奋的源泉&#xff0c;也是对意外后果的一种焦虑。同质化表示在广泛的应用程序中构建机器学习系统的方法的整合;它为许多任务提供…

(14)学习笔记:动手深度学习(Pytorch神经网络基础)

文章目录 神经网络的层与块块的基本概念自定义块 问答 神经网络的层与块 块的基本概念 以多层感知机为例&#xff0c; 整个模型接受原始输入&#xff08;特征&#xff09;&#xff0c;生成输出&#xff08;预测&#xff09;&#xff0c; 并包含一些参数&#xff08;所有组成层…