一只蒟蒻ovo
码龄3年
关注
提问 私信
  • 博客:52,028
    52,028
    总访问量
  • 55
    原创
  • 22,991
    排名
  • 553
    粉丝
  • 学习成就

个人简介:本人学生

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2021-07-13
博客简介:

Zhang_Qin123的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    603
    当月
    39
个人成就
  • 获得865次点赞
  • 内容获得23次评论
  • 获得705次收藏
  • 代码片获得308次分享
创作历程
  • 34篇
    2024年
  • 21篇
    2023年
成就勋章
TA的专栏
  • 数据结构
    13篇
兴趣领域 设置
  • 数据结构与算法
    推荐算法
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

深入理解计算机系统-程序的机器级表示(二)

和整数运算操作不同,AVX 浮点操作不能以立即数值作为操作数。相反,编译器必须为所有的常量值分配和初始化存储空间。然后代码再把这些值从内存读入。函数从标号为 .LC2 的内存位置读出值 1.8,从标号为 .LC3 的位置读出值 32.0,观察这些标号对应的值,可以看出每一个都是通过一对 .long 声明和十进制表示的值指定的。把这些数解释为浮点值,标号为 .LC2 的声明,有两个值 3435973837(0xcccccccd因为机器采用的是小端法字节顺序,第一个值给出的是低位4字节,第二个给出的是。
原创
发布博客 2024.11.15 ·
1015 阅读 ·
28 点赞 ·
0 评论 ·
17 收藏

深入理解计算机系统-程序的机器级表示(一)

假设一个C程序,有两个文件p1.c p2.c,用Unix命令行编译代码:gcc指的就是GCC编译器,它是linux系统上默认的编译器,编译选项-Og是用来告诉编译器生成符合原始C代码整体结构的机器代码的优化等级。(在实际项目中,为了获得更高的性能,会使用-O1或者-O2,甚至更高的编译优化选项。但是使用高级别的优化产生的代码会严重变形,导致产生的机器代码与最初的源代码之间的关系难以理解,这里为了理解方便,因此选择-Og这个优化选项) gcc命令调用了一整套程序,将源代码转化成可执行代码:
原创
发布博客 2024.11.11 ·
546 阅读 ·
23 点赞 ·
0 评论 ·
12 收藏

深入理解计算机系统-信息的表示和处理

二进制值是计算机编码,存储和操作信息的核心。最简单的布尔代数是在二元集合{0,1}基础上的定义,定义布尔代数中的几种运算。① ~ (逻辑运算 NOT ) 取反运算,即 ~0=1 ,~1=0 对每一位数都取反② & (逻辑运算 AND),∩ ,两者为真(1)才为真(1),其余都是假(0)③ | (逻辑运算 OR),或,两者只要有一真(1)即为真(1),二者都为假(0)才为假(0)④ ^ (逻辑运算 异或)二者为真(1)但不同时为真(1)时,结果才为真(1)
原创
发布博客 2024.11.10 ·
395 阅读 ·
11 点赞 ·
0 评论 ·
8 收藏

深入理解计算机系统--计算机系统漫游

汇编语言为不同高级语言的不同编译器。
原创
发布博客 2024.10.17 ·
1245 阅读 ·
22 点赞 ·
0 评论 ·
29 收藏

最大团问题--回溯法

给定一个无向图,其中 V 是图的顶点集,E图的边集完全图:如果无向图中的任何一对顶点之间都有边,这种无向图称为完全图完全子图:给定无向图,如果,且对应任意且,则称U是G的完全子图。(即完全子图中的任意两个顶点之间都有边)团(最大完全子图):U 是 G 的团当且仅当若存在一个最大完全子图包含U,那么 U 不是一个团。最大团:G 中所包含顶点数最多的团最大团问题是一个NP-C问题,无法在多项式时间内求出最大团,通常只能在数据规模较小的情况下适用。
原创
发布博客 2024.06.27 ·
646 阅读 ·
13 点赞 ·
0 评论 ·
9 收藏

数据结构——并查集

并查集是一种,用来处理问题。思想:用一个数组表示整片森林,,只要找到某个元素对应的树根,就能确定它的集合。
原创
发布博客 2024.06.04 ·
690 阅读 ·
16 点赞 ·
1 评论 ·
16 收藏

数据结构--拓扑排序

对于一个进行拓扑排序,是将G中所有节点排成一个线性序列,该序列满足以下两个条件:① 每个节点有且仅出现一次 ② 若存在一条从节点A到节点B的路径,则在序列中A一定出现在B前面。对于求一个有向无环图的拓扑排序步骤:1.在图中找到一个没有前驱(入度为0)的节点,然后输出2. 从图中删除该节点和所有以它为起点的有向边3.重复操作1和操作2,直到图为空 或 当前图不存在无前驱的顶点为止第一步操作,删除节点 1第二步操作,删除节点 2第三步操作,删除节点4最后拓扑排序依次为 3 5,不再画图讲述。
原创
发布博客 2024.05.31 ·
1445 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

图论(五)-最短路

(n为节点个数,m为边总数)与前面所述的dijkstra算法不同,Bellman-Ford 算法,同时可以判断是否存在负权回路。算法描述:①初始化:将除起始点 s 以外的 dis 数组设置为 无穷大, dis[ s ] = 0②迭代:遍历图中的每条边,对边的两个顶点分别进行松弛操作,一共遍历 n 次 m条边,直到没有节点能够松弛③判断负环:Bellman-Ford算法迭代后,再迭代一次,若最短路距离发生改变,则存在负环。Bellman-Ford算法,
原创
发布博客 2024.05.28 ·
1315 阅读 ·
11 点赞 ·
0 评论 ·
20 收藏

图论(四)—最短路问题(Dijkstra)

概念:从某个点 A 到另一个点B的最短距离(或路径)。从点 A 到 B 可能有多条路线,多种距离,求其中最短的距离和相应路径。
原创
发布博客 2024.05.27 ·
1617 阅读 ·
20 点赞 ·
0 评论 ·
10 收藏

图论(二)-图的建立

运用链式前向星遍历图的过程:
原创
发布博客 2024.05.21 ·
855 阅读 ·
20 点赞 ·
0 评论 ·
18 收藏

图论(三)(最小生成树)

对于图G=(V,E)有两种表示方法:邻接链表和邻接矩阵,两种表示方法既可以表示有向图,也可以表示无向图。如果 G 是连通图,则,一个图连通,至少有 v -1 条边。,而,此外要判断两个节点之间是否有边相邻,可以快速通过邻接矩阵判断。
原创
发布博客 2024.05.18 ·
926 阅读 ·
32 点赞 ·
0 评论 ·
15 收藏

不相交集合的数据结构

链表中的每个节点都包含。
原创
发布博客 2024.05.15 ·
1025 阅读 ·
25 点赞 ·
0 评论 ·
8 收藏

摊还分析

时间复杂度为 O(n),平均每个操作的摊还代价为 O(1)
原创
发布博客 2024.05.14 ·
862 阅读 ·
28 点赞 ·
0 评论 ·
23 收藏

二叉树的遍历(前序 中序 后序)

顺序为: 根-->左子树---->右子树先,再根节点的左子树(通过递归不断往下遍历),直到访问的节点没有左子树,此时其右子树(通过递归进行相同操作),直至所有的节点都被访问过,访问的顺序即为前序遍历。前序遍历的代码: (可以根据前序遍历的代码推出前序遍历的过程)前序遍历的过程(图示)以如下二叉树为例:进行先访问根,再左子树,右子树的顺序遍历(递归)前序遍历的访问顺序:前序遍历的顺序为: ABDECF。
原创
发布博客 2024.05.10 ·
482 阅读 ·
9 点赞 ·
0 评论 ·
7 收藏

哈夫曼树与哈夫曼编码

路径:从树中的一个节点到另一个节点之间的分支构成两个节点间的路径。节点的路径长度:两节点间路径的分支数(路径的个数)树的路径长度(TL):从根节点到树中。路径长度:节点A到A,B,C,D,E,F的路径长度分别为0,1,1,2,2,2树的路径长度(TL):节点A到树中每个节点的路径之和 TL=0+1+1+2+2+2=8权(权重):将树中的节点赋值(具体实际意义与场合有关)。节点的带权路径长度:从根节点到该节点之间的路径长度与节点上权的乘积。树的带权路径长度(WPL):树中。
原创
发布博客 2024.05.07 ·
830 阅读 ·
19 点赞 ·
0 评论 ·
21 收藏

动态规划——背包问题(01,完全,多重)

有 N 件物品和一个容量是 V 的背包。。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的。输出最大价值。
原创
发布博客 2024.05.06 ·
1244 阅读 ·
35 点赞 ·
0 评论 ·
15 收藏

贪心算法(活动选择、分数背包问题)

贪心算法是指:在对问题求解时,总是做出在当前看来是最好的选择,而不从整体最优考虑,。。基本思路:通过一种贪心的想法,使得得到当前的局部最优解,从而拓展至整体最优解(不一定)。所求问题的整体最优解可以,换句话说,当考虑做何种选择的时候,我们只考虑对当前问题最佳的选择而不考虑子问题的结果。这是贪心算法可行的第一个基本要素。,每作一次贪心选择就将所求问题简化为规模更小的子问题。对于一个具体问题,要确定它是否具有贪心选择性质,贪心算法的弊端:1.不能保证得到的最后解一定是最佳的,可能存在近似解(
原创
发布博客 2024.05.05 ·
947 阅读 ·
11 点赞 ·
0 评论 ·
24 收藏

动态规划——最短编辑距离

将字符串从末尾开始比较有以下递推公式。
原创
发布博客 2024.05.04 ·
951 阅读 ·
29 点赞 ·
0 评论 ·
17 收藏

最优二叉搜索树

满足以下1.如果左子树不为空,则左子树上的所有节点都小于根节点2.如果右子树不为空,则右子树上的所有节点都大于根节点3. 左右子树也为二叉搜索树。
原创
发布博客 2024.04.30 ·
1694 阅读 ·
17 点赞 ·
0 评论 ·
21 收藏

动态规划及例题

动态规划算法通常用于其思想与分治法类似,将待求解的问题分成若干个子问题,先求出子问题,再根据子问题的解求出原来问题中的解,与分支法不同的是,。采用动态规划求解的问题通常有以下性质:1.最优化原理:问题的最优解中包含的。2.无后效性:即某阶段状态一旦确定,就不受该状态以后决策的影响,只与当前状态有关。3.有重叠子问题:子问题之间是不相互独立的,一个子问题在下一阶段的决策中可能被多次用到。(通常减少不必要的重复操作)
原创
发布博客 2024.04.23 ·
803 阅读 ·
23 点赞 ·
0 评论 ·
8 收藏
加载更多