网易首页 > 网易号 > 正文 申请入驻

文心一言 VS 讯飞星火 VS chatgpt (300)-- 算法导论22.1 4题

0
分享至

四、给定多图$G=(V,E)$的邻接链表(多图是允许重复边和自循环边的图),请给出一个时间为$O(V+E)$的算法,用来计算该图的“等价”无向图$G^{'}=(V,E^{'})$的邻接链表表示。这里$E^{'}$是将$E$中的冗余边和自循环边删除后余下的边。删除余边指的是将两个结点之间的多条边替换为一条边。如果要写代码,请用go语言。

文心一言:

邻接链表表示

在邻接链表表示中,每个顶点 $v$ 都有一个链表,链表中的每个节点代表一条从 $v$ 出发的边。为了计算 $G^T$,我们需要遍历 $G$ 的每条边,并反转边的方向,添加到 $G^T$ 的相应链表中。

Go语言实现

packagemain
import(
"fmt"
)
//Graph使用邻接链表表示
typeGraphstruct{
verticesint
adjListmap[int][]int
}
//NewGraph创建一个新的图
funcNewGraph(verticesint)*Graph{
return&Graph{
vertices:vertices,
adjList:make(map[int][]int),
}
}
//AddEdge添加一条边到图中
func(g*Graph)AddEdge(u,vint){
g.adjList[u]=append(g.adjList[u],v)
}
//Transpose计算图的转置
func(g*Graph)Transpose()*Graph{
gT:=NewGraph(g.vertices)
foru,adj:=rangeg.adjList{
for_,v:=rangeadj{
gT.AddEdge(v,u)//反转边的方向
}
}
returngT
}
funcmain(){
g:=NewGraph(4)
g.AddEdge(0,1)
g.AddEdge(0,2)
g.AddEdge(1,2)
g.AddEdge(2,0)
g.AddEdge(2,3)
gT:=g.Transpose()
fmt.Println("OriginalGraph:")
foru,adj:=rangeg.adjList{
fmt.Printf("%d->%v\n",u,adj)
}
fmt.Println("\nTransposedGraph:")
foru,adj:=rangegT.adjList{
fmt.Printf("%d->%v\n",u,adj)
}
}

时间复杂度

  • •遍历每条边的时间复杂度是 $O(E)$,其中 $E$ 是边的数量。
  • •对于每条边,我们执行常数时间的操作(添加到另一个图的邻接链表中)。
  • •因此,总的时间复杂度是 $O(E)$。

邻接矩阵表示

在邻接矩阵表示中,我们使用一个二维数组来存储边的信息,其中表示是否存在一条从 $u$ 到 $v$ 的边。为了计算 $G^T$,我们遍历矩阵的上三角(或下三角,取决于你的矩阵表示习惯),并反转边的方向,即将的值赋给。

matrix[u][v]

matrix[u][v]

matrixT[v][u]

Go语言实现(简化版,仅考虑存在性,不考虑边的权重):

//假设使用二维布尔切片表示邻接矩阵
typeGraphMatrix[][]bool
//Transpose计算图的转置
func(gGraphMatrix)Transpose()GraphMatrix{
n:=len(g)
gT:=make(GraphMatrix,n)
fori:=rangegT{
gT[i]=make([]bool,n)
}
fori:=0;iforj:=0;jgT[j][i]=g[i][j]//反转边的方向
}
}
returngT
}
//注意:这里没有完整的GraphMatrix类型实现,因为示例仅关注Transpose函数

时间复杂度

  • •遍历矩阵的每个元素需要 $O(V^2)$ 时间,其中 $V$ 是顶点的数量。
  • •因此,总的时间复杂度是 $O(V^2)$。这在顶点数量远大于边数量时可能不是最高效的。









讯飞星火:

对于邻接链表表示的有向图,我们可以通过遍历每个顶点的邻接链表,将每个顶点的邻接顶点添加到新图的转置顶点的邻接链表中。具体步骤如下:

  1. 1.创建一个新的邻接链表 $G^{T}$,初始化为空。
  2. 2.遍历原图 $G$ 的每个顶点 $v$。
  3. 3.遍历顶点 $v$ 的邻接链表,将每个邻接顶点 $u$ 添加到新图 $G^{T}$ 中顶点 $v$ 的邻接链表中。
  4. 4.返回新图 $G^{T}$。

时间复杂度分析:遍历原图的每个顶点需要 $O(|V|)$ 的时间,遍历每个顶点的邻接链表需要 $O(|E|)$ 的时间,所以总的时间复杂度为 $O(|V| + |E|)$。

对于邻接矩阵表示的有向图,我们可以通过将原图的邻接矩阵进行转置操作来得到新图的邻接矩阵。具体步骤如下:

  1. 1.创建一个新的大小为 $|V| \times |V|$ 的矩阵 $G^{T}$,初始化为全零矩阵。
  2. 2.遍历原图的邻接矩阵 $G$,将 $G[i][j]$ 的值赋给 $G^{T}[j][i]$。
  3. 3.返回新图的邻接矩阵 $G^{T}$。

时间复杂度分析:遍历原图的邻接矩阵需要 $O(|V|^2)$ 的时间,所以总的时间复杂度为 $O(|V|^2)$。

下面是使用 Go 语言实现的代码:

//邻接链表表示的有向图转置
functransposeAdjList(Gmap[int][]int)map[int][]int{
GT:=make(map[int][]int)
forv,neighbors:=rangeG{
for_,u:=rangeneighbors{
GT[u]=append(GT[u],v)
}
}
returnGT
}
//邻接矩阵表示的有向图转置
functransposeAdjMatrix(G[][]int)[][]int{
n:=len(G)
GT:=make([][]int,n)
fori:=rangeGT{
GT[i]=make([]int,n)
}
fori:=0;iforj:=0;jGT[j][i]=G[i][j]
}
}
returnGT
}

360智脑:

邻接链表表示法

在邻接链表表示法中,我们可以直接遍历原图$G$的每个节点的邻接链表,然后将每条边的方向反转后添加到新图$G^{T}$的相应节点上。

Go语言代码实现:

typeGraphstruct{
Vertices[]*Node//存储图中所有节点的指针
}
typeNodestruct{
Valueint
Adjacent[]*Node//存储与该节点相邻的所有节点的指针
}
func(g*Graph)Transpose()*Graph{
transposed:=&Graph{make([]*Node,len(g.Vertices))}
fori,node:=rangeg.Vertices{
transposed.Vertices[i]=&Node{node.Value,make([]*Node,0)}
}
for_,node:=rangeg.Vertices{
for_,adj:=rangenode.Adjacent{
//将边反向添加到转置图中
transposed.Vertices[adj.Value].Adjacent=append(transposed.Vertices[adj.Value].Adjacent,transposed.Vertices[node.Value])
}
}
returntransposed
}

时间复杂度分析:

  • •遍历原图中的每个节点:$O(|V|)$
  • •遍历每个节点的邻接链表:$O(|E|)$

因此,总的时间复杂度为 $O(|V| + |E|)$。

邻接矩阵表示法

在邻接矩阵表示法中,我们可以创建一个新的邻接矩阵,然后遍历原图$G$的邻接矩阵,将矩阵中的每个元素$(i, j)$赋值给新矩阵的$(j, i)$位置,这样就完成了边的反转。

Go语言代码实现:

typeMatrixGraphstruct{
Matrix[][]bool//存储邻接矩阵
}
func(mg*MatrixGraph)Transpose()*MatrixGraph{
transposed:=&MatrixGraph{make([][]bool,len(mg.Matrix))}
fori:=rangemg.Matrix{
transposed.Matrix[i]=make([]bool,len(mg.Matrix))
forj:=rangemg.Matrix[i]{
//将边反向赋值到转置矩阵中
transposed.Matrix[i][j]=mg.Matrix[j][i]
}
}
returntransposed
}

时间复杂度分析:

  • •创建新的邻接矩阵:$O(|V|^2)$
  • •遍历原图的邻接矩阵:$O(|V|^2)$

因此,总的时间复杂度为 $O(|V|^2)$。

总结

对于邻接链表表示法,转置算法的时间复杂度为 $O(|V| + |E|)$,而对于邻接矩阵表示法,转置算法的时间复杂度为 $O(|V|^2)$。在实际应用中,如果图比较稀疏(即$|E|$远小于$|V|^2$),使用邻接链表表示法会更加高效。如果图比较稠密(即$|E|$接近$|V|^2$),则邻接矩阵表示法可能更加合适。

智谱清言:

在图的表示中,邻接链表和邻接矩阵都是常用的方法。邻接链表用于表示无向图和有向图,而邻接矩阵通常用于表示无向图。对于有向图的转置,我们可以分别对邻接链表和邻接矩阵进行操作。

邻接链表的转置

对于邻接链表表示的有向图,转置图可以通过遍历原图的每个顶点,并将原图的出边修改为入边来实现。

packagemain
import(
"fmt"
)
//定义图的顶点结构
typeVertexstruct{
Namestring
Edges[]*Vertex
Visitedbool
}
//计算图的转置
funcTranspose(g*Vertex){
for_,v:=rangeg.Edges{
//遍历顶点v的所有出边
for_,w:=rangev.Edges{
//在原图中查找顶点w指向顶点v的边,并反转
fori,e:=rangew.Edges{
ife==v{
w.Edges[i]=v
break
}
}
}
}
}
funcmain(){
//创建顶点
a:=&Vertex{Name:"A"}
b:=&Vertex{Name:"B"}
c:=&Vertex{Name:"C"}
//建立有向图关系
a.Edges=[]*Vertex{b,c}
b.Edges=[]*Vertex{a}
c.Edges=[]*Vertex{a}
//打印原图
fmt.Println("原图:")
PrintGraph(a)
//计算转置图
Transpose(a)
//打印转置图
fmt.Println("转置图:")
PrintGraph(a)
}
//PrintGraph用于打印图的邻接链表表示
funcPrintGraph(g*Vertex){
g.Visited=true
for_,v:=rangeg.Edges{
if!v.Visited{
fmt.Println(g.Name,"->",v.Name)
PrintGraph(v)
}
}
}

邻接矩阵的转置

对于邻接矩阵表示的有向图,转置图可以通过将原图的每一行变成新图的对应列来实现。

packagemain
import(
"fmt"
)
//计算邻接矩阵的转置
funcTransposeMatrix(mat[][]int)[][]int{
transposed:=make([][]int,len(mat[0]))
fori:=rangetransposed{
transposed[i]=make([]int,len(mat))
}
fori,row:=rangemat{
forj,val:=rangerow{
ifval==1{
transposed[j][i]=1
}
}
}
returntransposed
}
funcmain(){
//创建邻接矩阵
originalMatrix:=[][]int{
{0,1,1},
{0,0,1},
{1,0,0},
}
//计算转置矩阵
transposedMatrix:=TransposeMatrix(originalMatrix)
//打印转置矩阵
fmt.Println("转置矩阵:")
for_,row:=rangetransposedMatrix{
fmt.Println(row)
}
}

算法运行时间分析

  1. 1.对于邻接链表的转置,算法的时间复杂度为O(E),其中E是图中边的数量。这是因为需要遍历每条边一次。
  2. 2.对于邻接矩阵的转置,算法的时间复杂度为O(V^2),其中V是图中顶点的数量。这是因为需要遍历每个矩阵元素一次,而矩阵的大小为V×V。 这些算法都是有效的,并且运行

天工:

要实现一个算法来计算有向图 $G$ 的转置 $G^{T}$,我们可以分别对邻接链表和邻接矩阵两种表示法进行处理。下面我将分别描述这两种情况的算法,并提供Go语言的代码示例。

邻接链表表示法

算法步骤:

  1. 1.创建一个新的邻接链表用于存储转置后的图。
  2. newAdjList
  3. 2.遍历原图的邻接链表。
  4. adjList
  5. 3.对于每条边,将其添加到中。
  6. (u, v)
  7. newAdjList[v]
  8. 4.返回新的邻接链表。
  9. newAdjList

Go语言代码示例:

typeGraphstruct{
vertices[]*Vertex
}
typeVertexstruct{
keyint
adjacent[]*Vertex
}
func(g*Graph)Transpose()*Graph{
gt:=&Graph{make([]*Vertex,len(g.vertices))}
fori:=rangeg.vertices{
gt.vertices[i]=&Vertex{key:i}
}
for_,u:=rangeg.vertices{
for_,v:=rangeu.adjacent{
//Addedge(v,u)tothetransposegraph.
gt.vertices[v.key].adjacent=append(gt.vertices[v.key].adjacent,gt.vertices[u.key])
}
}
returngt
}

运行时间分析:

该算法的运行时间是 O(|V| + |E|),其中 |V| 是顶点的数量,|E| 是边的数量。这是因为我们需要遍历所有的顶点和边一次。

邻接矩阵表示法

算法步骤:

  1. 1.创建一个新的邻接矩阵用于存储转置后的图。
  2. newAdjMatrix
  3. 2.遍历原图的邻接矩阵。
  4. adjMatrix
  5. 3.对于每个元素,将其赋值给。
  6. adjMatrix[i][j]
  7. newAdjMatrix[j][i]
  8. 4.返回新的邻接矩阵。
  9. newAdjMatrix

Go语言代码示例:

typeGraphstruct{
matrix[][]bool
}
func(g*Graph)Transpose()*Graph{
gt:=&Graph{make([][]bool,len(g.matrix))}
fori:=rangegt.matrix{
gt.matrix[i]=make([]bool,len(g.matrix))
}
fori:=rangeg.matrix{
forj:=rangeg.matrix[i]{
//Copytheadjacencyvalueswithswappedindices.
gt.matrix[j][i]=g.matrix[i][j]
}
}
returngt
}

运行时间分析:

该算法的运行时间是 O(|V|^2),其中 |V| 是顶点的数量。这是因为我们需要遍历整个邻接矩阵,而邻接矩阵的大小是 |V| x |V|。

以上代码示例仅为算法的核心部分,实际应用中可能需要添加错误处理、输入输出等其他功能。此外,为了简化代码,假设图中没有重复的边,且顶点编号从0开始连续编号。

chatgpt:

下面是用Go语言编写的从图 G 计算出 G^T 的算法,同时给出了对应的邻接链表和邻接矩阵表示方法:

packagemain
import"fmt"
//图的节点结构体
typeNodestruct{
Valueint//节点的值
Next*Node//下一个节点指针
}
//邻接链表表示法的图结构体
typeGraphstruct{
Vertices[]*Node//图中所有节点的数组
}
//添加有向边到邻接链表
func(g*Graph)AddEdge(u,vint){
newNode:=&Node{Value:v}
ifg.Vertices[u]==nil{
g.Vertices[u]=newNode
}else{
curr:=g.Vertices[u]
forcurr.Next!=nil{
curr=curr.Next
}
curr.Next=newNode
}
}
//输出邻接链表表示的图信息
func(g*Graph)Print(){
fori,node:=rangeg.Vertices{
fmt.Printf("顶点%d:",i)
fornode!=nil{
fmt.Printf("%d",node.Value)
node=node.Next
}
fmt.Println()
}
}
//获取图G的转置图G^T的邻接链表表示法
funcGetTranspose(g*Graph)*Graph{
transpose:=&Graph{
Vertices:make([]*Node,len(g.Vertices)),
}
fori,node:=rangeg.Vertices{
fornode!=nil{
v:=node.Value
//在转置图中添加反向边
transpose.AddEdge(v,i)
node=node.Next
}
}
returntranspose
}
//输出邻接链表表示的转置图信息
funcPrintTranspose(g*Graph){
fmt.Println("转置图G^T:")
g.Print()
}
//邻接矩阵表示法的图结构体
typeMatrixstruct{
Vertices[][]int//邻接矩阵,存储边的连接关系(0表示无边,1表示有边)
}
//初始化邻接矩阵表示的图
funcInitMatrix(numVerticesint)*Matrix{
matrix:=&Matrix{
Vertices:make([][]int,numVertices),
}
fori:=rangematrix.Vertices{
matrix.Vertices[i]=make([]int,numVertices)
}
returnmatrix
}
//添加有向边到邻接矩阵
func(m*Matrix)AddEdge(u,vint){
m.Vertices[u][v]=1
}
//获取图G的转置图G^T的邻接矩阵表示法
funcGetTransposeMatrix(m*Matrix)*Matrix{
numRows:=len(m.Vertices)
numCols:=len(m.Vertices[0])
transpose:=InitMatrix(numRows)
fori:=0;iforj:=0;jifm.Vertices[i][j]==1{
//在转置矩阵中添加反向边
transpose.AddEdge(j,i)
}
}
}
returntranspose
}
//输出邻接矩阵表示的转置图信息
funcPrintTransposeMatrix(m*Matrix){
numRows:=len(m.Vertices)
numCols:=len(m.Vertices[0])
fmt.Println("转置图G^T:")
fori:=0;ifmt.Printf("顶点%d:",i)
forj:=0;jifm.Vertices[i][j]==1{
fmt.Printf("%d",j)
}
}
fmt.Println()
}
}
funcmain(){
//邻接链表表示的有向图G
g:=&Graph{
Vertices:make([]*Node,4),
}
g.AddEdge(0,1)
g.AddEdge(1,2)
g.AddEdge(2,3)
g.AddEdge(3,1)
//输出原始图G的邻接链表表示法
fmt.Println("原始图G:")
g.Print()
//获取转置图G^T的邻接链表表示法并输出
transpose:=GetTranspose(g)
PrintTranspose(transpose)
//邻接矩阵表示的有向图G
m:=InitMatrix(4)
m.AddEdge(0,1)
m.AddEdge(1,2)
m.AddEdge(2,3)
m.AddEdge(3,1)
//输出原始图G的邻接矩阵表示法
fmt.Println("原始图G:")
for_,row:=rangem.Vertices{
fmt.Println(row)
}
//获取转置图G^T的邻接矩阵表示法并输出
transposeMatrix:=GetTransposeMatrix(m)
PrintTransposeMatrix(transposeMatrix)
}

该算法的时间复杂度为 O(V + E),其中 V 是顶点数,E 是边数。转置图的构建过程需要遍历原始图的所有边,并将其反向添加到转置图中,因此总的时间复杂度与顶点和边的数量成正比。

kimi:

有向图的转置图可以通过两种主要的数据结构表示:邻接链表和邻接矩阵。下面我将分别介绍这两种情况下的算法,并提供Go语言的示例代码。

邻接链表表示

对于邻接链表表示的图,我们可以通过遍历每个顶点的邻接列表,然后为每个邻接点添加一条反向边来实现图的转置。这种方法的时间复杂度是O(V + E),其中V是顶点数,E是边数。

Go语言示例代码:

typeVertexstruct{
Valueint
Adj[]Vertex
}
functransposeGraph(graph[]Vertex)[]Vertex{
transposed:=make([]Vertex,len(graph))
for_,v:=rangegraph{
for_,adjV:=rangev.Adj{
//为邻接点添加反向边
found:=false
for_,tV:=rangetransposed[adjV.Value].Adj{
iftV.Value==v.Value{
found=true
break
}
}
if!found{
transposed[adjV.Value].Adj=append(transposed[adjV.Value].Adj,v)
}
}
}
returntransposed
}

邻接矩阵表示

对于邻接矩阵表示的图,我们可以通过交换矩阵的行和列来实现转置。这种方法的时间复杂度是O(V^2)。

Go语言示例代码:

functransposeMatrix(matrix[][]int)[][]int{
n:=len(matrix)
transposed:=make([][]int,n)
fori:=0;itransposed[i]=make([]int,n)
forj:=0;jtransposed[i][j]=matrix[j][i]
}
}
returntransposed
}

算法分析

  • 邻接链表:算法需要遍历每个顶点的邻接列表,对于每条边,需要在邻接点的邻接列表中添加反向边。如果邻接点列表的平均长度是k,则算法的时间复杂度是O(V + E * k)。在最坏的情况下,k可以接近V,此时时间复杂度接近O(V^2)。在最好的情况下,k接近1,时间复杂度接近O(E)。
  • 邻接矩阵:算法需要遍历矩阵的每个元素,并将行和列交换。由于矩阵是VxV的,所以时间复杂度是O(V^2)。

在实际应用中,选择哪种算法取决于图的稀疏程度和可用的内存。对于稀疏图,邻接链表可能更节省内存;而对于密集图,邻接矩阵可能更高效。

混元:

为了计算有向图 $G=(V,E)$ 的转置 $G^T=(V,E^T)$,我们可以分别针对邻接链表和邻接矩阵两种表示方法给出相应的算法,并分析其运行时间。

邻接链表表示法

算法描述

  1. 1.初始化一个空的邻接链表来存储转置图的边。
  2. 2.遍历原图 $G$ 的所有节点。
  3. 3.对于每个节点 $u$,遍历其邻接链表中的所有邻居节点 $v$。
  4. 4.在新的邻接链表中添加一条从 $v$ 到 $u$ 的边。
  5. 5.完成遍历后,新的邻接链表即为转置图 $G^T$。

运行时间分析

  • •时间复杂度:$O(|E|)$,其中 $|E|$ 是原图的边数。因为我们需要遍历每条边两次(一次读取,一次写入)。

邻接矩阵表示法

算法描述

  1. 1.初始化一个与原图大小相同的邻接矩阵来存储转置图的边。
  2. 2.遍历原图 $G$ 的邻接矩阵。
  3. 3.对于矩阵中的每个非零元素(即存在边 $(u, v)$),在转置图的邻接矩阵中对应位置 $(v, u)$ 设置为非零元素。
  4. 4.完成遍历后,新的邻接矩阵即为转置图 $G^T$。

运行时间分析

  • •时间复杂度:$O(|V|^2)$,其中 $|V|$ 是原图的节点数。因为我们需要遍历整个邻接矩阵。

Go 语言实现(邻接链表表示法)

typeEdgestruct{
destint
}
typeAdjacencyListstruct{
edgesmap[int][]Edge
}
funcTransposeGraph(graphAdjacencyList)AdjacencyList{
transposed:=AdjacencyList{edges:make(map[int][]Edge)}
foru,neighbors:=rangegraph.edges{
for_,edge:=rangeneighbors{
v:=edge.dest
transposed.edges[v]=append(transposed.edges[v],Edge{dest:u})
}
}
returntransposed
}
funcmain(){
//示例图的邻接链表表示
graph:=AdjacencyList{edges:map[int][]Edge{
0:{{dest:1}},
1:{{dest:2}},
2:{{dest:0}},
}}
//计算转置图
transposedGraph:=TransposeGraph(graph)
//打印转置图的邻接链表
foru,neighbors:=rangetransposedGraph.edges{
fmt.Printf("Node%d->Nodes:",u)
for_,edge:=rangeneighbors{
fmt.Printf("%d",edge.dest)
}
fmt.Println()
}
}

在这段代码中,我们定义了一个结构体来表示边,以及一个结构体来表示邻接链表。函数接受一个类型的参数,并返回其转置图的邻接链表表示。在函数中,我们创建了一个示例图,并计算并打印了其转置图。

Edge

AdjacencyList

TransposeGraph

AdjacencyList

main

声明:内容由AI生成

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
新能源车换电池费用一览,看完你就知道买谁了

新能源车换电池费用一览,看完你就知道买谁了

极智动力
2024-11-25 13:47:21
德国在“北溪”爆炸后要求乌克兰赔偿

德国在“北溪”爆炸后要求乌克兰赔偿

财联社
2024-11-25 16:50:07
养肺就是养命!肺部最爱这4物,建议每天吃点,或可远离胸痛咳嗽

养肺就是养命!肺部最爱这4物,建议每天吃点,或可远离胸痛咳嗽

今日养生之道
2024-11-20 17:43:02
二甲双胍或成“老年毒药”,寿命缩短22%?医生提醒:需理性看待

二甲双胍或成“老年毒药”,寿命缩短22%?医生提醒:需理性看待

今日养生之道
2024-11-26 02:47:10
事实证明,郭士强执教的中国男篮,已经走上了另一条大道!

事实证明,郭士强执教的中国男篮,已经走上了另一条大道!

体坛热消息
2024-11-25 10:26:30
广州科学城集团的“狂飙往事”

广州科学城集团的“狂飙往事”

叮当当科技
2024-11-26 00:58:41
台湾政治人物网络声量排名,韩国瑜竟未进前十,蓝营一哥实至名归

台湾政治人物网络声量排名,韩国瑜竟未进前十,蓝营一哥实至名归

纵横观天下ZK
2024-11-25 19:32:43
5.9分!皇马18岁新星飘了:替补上场散步+乱传球,令莫德里奇不满

5.9分!皇马18岁新星飘了:替补上场散步+乱传球,令莫德里奇不满

球场没跑道
2024-11-25 09:56:54
“利空”靴子落地!11月26日,深夜的四大消息正式出炉!

“利空”靴子落地!11月26日,深夜的四大消息正式出炉!

风口招财猪
2024-11-26 02:38:50
乔欣与赖柏霖婚礼,11月20日在潮汕举办

乔欣与赖柏霖婚礼,11月20日在潮汕举办

娱乐的小灶
2024-11-25 10:01:24
这是刚回英超的人?圣徒2米大中锋抢断范迪克+踩单车+造2黄

这是刚回英超的人?圣徒2米大中锋抢断范迪克+踩单车+造2黄

直播吧
2024-11-25 08:58:54
沙俄仅用50多年,让我国领土损失300多万平方公里,失地比印度面积还大

沙俄仅用50多年,让我国领土损失300多万平方公里,失地比印度面积还大

黎庶文史
2024-04-15 23:30:10
张兰自曝汪小菲每月给亲爹汪玺5万块零花钱 网友:她就只说好地方

张兰自曝汪小菲每月给亲爹汪玺5万块零花钱 网友:她就只说好地方

娱乐书坊
2024-11-25 09:38:45
梁光烈当总参谋长5年时间里,有6位中将助理,仅1人升副国级上将

梁光烈当总参谋长5年时间里,有6位中将助理,仅1人升副国级上将

史座y
2024-11-24 21:43:32
一位高级教师感慨:现在的教育已到了摧残至极的地步

一位高级教师感慨:现在的教育已到了摧残至极的地步

晓徙历史
2024-11-20 13:44:28
黄仁勋现身香港大排档,一个月内密集访问亚洲

黄仁勋现身香港大排档,一个月内密集访问亚洲

第一财经资讯
2024-11-24 22:44:09
美高层认为:普京再对中国大方下去,未来俄罗斯或将无法制衡中国

美高层认为:普京再对中国大方下去,未来俄罗斯或将无法制衡中国

千里持剑
2024-11-25 13:21:04
足协取消冬训!伊万全面掌握教练组,2大归化表态,小组第二稳了

足协取消冬训!伊万全面掌握教练组,2大归化表态,小组第二稳了

詹妹侃体育
2024-11-25 15:01:51
两代董事长,被一个“女神”干翻

两代董事长,被一个“女神”干翻

大猫财经Pro
2024-11-25 17:54:50
确认了!英格拉姆正式解约!8年感情宣布破裂……

确认了!英格拉姆正式解约!8年感情宣布破裂……

篮球实战宝典
2024-11-25 15:22:24
2024-11-26 04:31:00
moonfdd
moonfdd
福大大架构师每日一题
548文章数 15关注度
往期回顾 全部

科技要闻

特斯拉又降价,知情人士:冲刺今年销售目标

头条要闻

挪威史上最大规模性丑闻 妇科医生20年强奸87名患者

头条要闻

挪威史上最大规模性丑闻 妇科医生20年强奸87名患者

体育要闻

杨瀚森这态度,是打不了NBA的...

娱乐要闻

爆料郑雨盛和女模特,女方非正常怀孕

财经要闻

刘煜辉最新演讲全文:蛇的策略

汽车要闻

特斯拉限时优惠:Model Y仅23.99万起 还能5年0息

态度原创

时尚
教育
手机
房产
公开课

灰色大衣,配高领衫才时髦!

教育要闻

采访澳大利亚RMIT新加坡项目学术主任:应变是国际教育的核心理念

手机要闻

OPPO Reno13系列发布:2699元起 实况照片新增EIS防抖

房产要闻

合生把上百个亿万富豪搞破防了

公开课

一块玻璃,如何改变人类世界?

无障碍浏览 进入关怀版