<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jifu_M的博客]]></title><description><![CDATA[在CS Maseter学习期间的整理，包含个人练习项目，学习笔记，课程总结整理和教其他同学时用到的笔记。欢迎交流指正。]]></description><link>https://blog.youkuaiyun.com/Jifu_M</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Jifu_M]]></copyright><item><title><![CDATA[算法和数据结构项目练习7-广度优先搜索(BFS)]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/113839123</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/113839123</guid><author>Jifu_M</author><pubDate>Wed, 17 Feb 2021 22:25:40 +0800</pubDate><description><![CDATA[Breadth First Search项目介绍代码实现
项目介绍

本项目实现广度优先搜索算法。
读取txt文件中第一行表示图中顶点数的单个整数N
读取txt文件中第二行开始是一对对的整数。每一对表示图中某条边两端的两个顶点。
图是无向的，因此节点编号为0 - N‐1。
程序先遍历图的顶点，从节点0开始，输出从这个节点可以到达的所有节点。
输出包含从算法获得的生成树。它应该被打印成树中有序的边列表。每条边的顶点应该按照BFS遍历的顺序列出。

输入的txt文件如下：

其中第一行是总的顶点数，后面的两列组]]></description><category></category></item><item><title><![CDATA[算法和数据结构项目练习6-基于Karp‐Rabin 算法的字符串搜索]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/113838220</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/113838220</guid><author>Jifu_M</author><pubDate>Wed, 17 Feb 2021 21:22:54 +0800</pubDate><description><![CDATA[Karp‐Rabin String Search项目介绍代码实现
项目介绍

本项目实现了Karp‐Rabin字符串搜索算法。
程序读取的txt文件包含两个字符序列，分别在不同的测试行上。第一行是目标序列T，第二行是搜索序列S。读取这两个字符串并使用Karp‐Rabin算法找到序列S在序列T中出现的所有情况。
对于每个匹配的序列，打印T中第一个匹配字符的位置。
不使用STL或等价的库。
代码中使用简单的哈希函数做例子，可以自行改为复杂版的避免哈希值撞车。

读取文件介绍：

第一行是序列T，它是基于DNA碱]]></description><category></category></item><item><title><![CDATA[算法和数据结构项目练习5-哈希链表]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/113835546</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/113835546</guid><author>Jifu_M</author><pubDate>Wed, 17 Feb 2021 16:55:44 +0800</pubDate><description><![CDATA[Hash Chaining Table 项目介绍代码实现
项目介绍


本项目实现一个简单的哈希表。


txt文件包含一个整数值序列。读取它们并使用链接构造一个哈希表。


程序应该依次读取每个整数，并使用mod 100作为哈希函数计算其哈希值。因此，如果键是k，那么哈希值h(k) =kmod 100。（最简单的哈希函数）


完成计算后打印:

哈希表中空条目的数量。
最长链的长度。



不使用STL或等价的库。


哈希表示例图如下：

读取的文件示例：

代码实现
#include &lt;ios]]></description><category></category></item><item><title><![CDATA[算法和数据结构项目练习4-BST排序]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/113835328</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/113835328</guid><author>Jifu_M</author><pubDate>Wed, 17 Feb 2021 16:38:07 +0800</pubDate><description><![CDATA[BST Sort项目介绍代码实现
关于二叉查找树(Binary Search Tree)的介绍可以看一下我的这篇文章：
https://blog.youkuaiyun.com/Jifu_M/article/details/112827685
项目介绍

本项目实现BST排序并测试它的正确性。
被读取txt文件包含一系列整数值。读取它们并按照读取它们的顺序构造一个二叉搜索树。因此，读取的第一个数字将是树的根。
在构建树的过程中，您不需要平衡它。
当把最后一个值读入BST时，进行序遍历以升序输出值
在5个字符宽的字段中每一]]></description><category></category></item><item><title><![CDATA[算法和数据结构项目练习3-数组虚拟初始化]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/113834938</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/113834938</guid><author>Jifu_M</author><pubDate>Wed, 17 Feb 2021 16:12:45 +0800</pubDate><description><![CDATA[Array Virtual Initialization项目介绍代码实现
项目介绍


这个项目将实现一个虚拟初始化数组并测试它的正确性。


使用三个整数数组:data[]、forward[]和backward[]，每个数组包含100个元素。


txt文件包含一组成对的:where ，what。使用虚拟初始化将值what存储在数据数组的位置中。例如data[where] = what。


这个序列被一对-1 -1终止。


后面跟着一个单整数值序列probe。对于每个这样的值，您需要测试data[pr]]></description><category></category></item><item><title><![CDATA[算法和数据结构项目练习2-最小堆和最大堆]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/113826540</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/113826540</guid><author>Jifu_M</author><pubDate>Wed, 17 Feb 2021 14:51:04 +0800</pubDate><description><![CDATA[Implementing a Heap项目介绍
项目介绍


]]></description><category></category></item><item><title><![CDATA[算法和数据结构项目练习1-堆栈]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/113825230</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/113825230</guid><author>Jifu_M</author><pubDate>Tue, 16 Feb 2021 15:42:52 +0800</pubDate><description><![CDATA[Implementing a Stack项目要求代码实现
项目要求
读取包含若干单词的txt文本文件，并使用堆栈以相反的顺序在屏幕上显示这些单词。
可以假设任何单词的长度都不超过20个字符。
不使用单独的结构或类或STL来实现堆栈。
练习用到txt文件如下所示：

代码实现
#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;fstream&gt;

using namespace std;

void push(string* strin]]></description><category></category></item><item><title><![CDATA[算法和数据结构练习题-下]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112972951</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112972951</guid><author>Jifu_M</author><pubDate>Thu, 21 Jan 2021 22:49:07 +0800</pubDate><description><![CDATA[Data Structure And Algorithm  Questions 下19. Dijkstra算法寻找最短路径20. 插入数据到2-4树中21. 从2-3-4树中删除数据22. 动态编程相关术语：23. 基数排序24. 对单词进行基数排序25. Chaining的复杂度26. 完美哈希27. 绘制AVL树28. 在AVL树中删除值29. Dijkstra's最短路径算法29. 加权图最短路径30. Dijkstra算法和Bellman Ford算法
接上文：
https://blog.csdn.]]></description><category></category></item><item><title><![CDATA[算法和数据结构练习题-上]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112956663</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112956663</guid><author>Jifu_M</author><pubDate>Thu, 21 Jan 2021 22:04:23 +0800</pubDate><description><![CDATA[Data Structure And Algorithm  Questions1. 在初始为空的堆上执行以下操作时，绘制最小堆:2. 归并排序的运行时间是否依赖于输入文件中的键值？3. 递归归并排序4. 绘制二叉搜索树
1. 在初始为空的堆上执行以下操作时，绘制最小堆:
insert(1)， insert(5), insert(2)， insert(6),  insert(4),insert(8), remove, insert(7), insert(3).
答：

2. 归并排序的运行时间是否依赖于输入文]]></description><category></category></item><item><title><![CDATA[算法和数据结构之最短路径算法]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112909339</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112909339</guid><author>Jifu_M</author><pubDate>Wed, 20 Jan 2021 20:51:21 +0800</pubDate><description><![CDATA[Shortest Path AlgorithmsWeighted Graphs最短路径Dijkstra’s AlgorithmBellman-FordA*算法References
Weighted Graphs
通常，我们发现沿着图中的一条边移动会有一些相关的成本(或利润),例如边的距离，汽油的价格，花费的时间等等。
我们称这之为加权图，称边值为权值。
我们将之前的图定义扩展如下:
加权图G由有序序列(V, E, W)组成，其中V和E是顶点和边，W是边的权值。

V={a, b, c, d, e}
E={(]]></description><category></category></item><item><title><![CDATA[算法和数据结构之Graphs]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112902647</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112902647</guid><author>Jifu_M</author><pubDate>Wed, 20 Jan 2021 18:47:12 +0800</pubDate><description><![CDATA[GraphsGraphsAdjacency ListsAdjacency MatrixGraph Search广度优先搜索(BFS)BFS算法深度优先搜索(DFS)DFS算法DFS穿越迷宫边的分类Cycle DetectionReferences
Graphs
一个图由一组点V组成，这些点称为顶点或节点，以及一组边E，也称为弧，每条边都包含一对顶点。

G=(V, E)
无向图：
V={v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 }
E={{v 1 , v 2 }, {v]]></description><category></category></item><item><title><![CDATA[算法和数据结构之哈希]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112871202</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112871202</guid><author>Jifu_M</author><pubDate>Wed, 20 Jan 2021 15:56:46 +0800</pubDate><description><![CDATA[Hashing哈希方程字典(Dictionaries)直接访问表Hashing With Chaining开放寻址法(Open Addressing)Probing使用开放寻址搜索开放寻址哈希函数Linear ProbingDouble Hashingh2的选择：Chaining 与Open Addressing使用哈希进行字符串搜索线性时间搜索Clever HashingKarp-Rabin字符串搜索References
哈希方程
哈希方程有很多情况，
例如除留余数法：
h(k) = k mod m
如果]]></description><category></category></item><item><title><![CDATA[算法和数据结构之排2-4树详解]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112841205</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112841205</guid><author>Jifu_M</author><pubDate>Tue, 19 Jan 2021 17:11:57 +0800</pubDate><description><![CDATA[2-4 Trees2-4 树搜索2-4树插入数据到2-4树从2-4树中删除数据2-4树效率B-Tree搜索B-Tree插入数据到B-Tree从B-Tree中删除数据B+ TreeB* Tree2-3-4 TreeReferences
2-4 树
2-4 树具有以下性质：

每个内部节点(根节点除外)都有2到4个子节点。
每个节点中的键按从小到大的顺序排列。
内部节点比它们的子节点少一个键。每个这样的键在概念上被定位在两个连续的子节点之间。它的值比它左边的子树中最大的键要大，比它右边的子树中最小的键要小。
树]]></description><category></category></item><item><title><![CDATA[算法和数据结构之BST, AVL树的详解]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112827685</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112827685</guid><author>Jifu_M</author><pubDate>Tue, 19 Jan 2021 15:39:11 +0800</pubDate><description><![CDATA[Trees二叉查找树(Binary Search Tree)构建BST树搜索BST树AVL树(AVL Trees)构建AVL树K-ary TreesReferences
二叉查找树(Binary Search Tree)
二叉查找树是一个有一个额外条件的二叉树。
对于每个节点:
左子节点的内容≤当前节点的内容。
当前节点的内容≤右子的节点的内容。
构建BST树
让我们从以下值建立一个BST: 15, 33, 9, 13, 5, 21, 11
root = insert_first(15)
insert(]]></description><category></category></item><item><title><![CDATA[算法和数据结构之排序与堆详解]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112792801</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112792801</guid><author>Jifu_M</author><pubDate>Mon, 18 Jan 2021 21:29:23 +0800</pubDate><description><![CDATA[Sorting And Heaps选择排序(Selection Sort)冒泡排序(Bubble Sort)插入排序(Insertion Sort)快速排序(Quicksort)归并排序(Mergesort)堆(Heap)Siftup:Siftdown堆排序(Heapsort)Makeheap主要排序算法效率总结References
选择排序(Selection Sort)

扫描数组以找到最小的值。
如果它不在x[0]中，那么把它换到那里。(x[0]现在是最小的)
扫描数组的其余部分，寻找下一个最小的。
]]></description><category></category></item><item><title><![CDATA[算法和数据结构之复杂度与寻找峰值]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112789662</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112789662</guid><author>Jifu_M</author><pubDate>Mon, 18 Jan 2021 17:54:07 +0800</pubDate><description><![CDATA[Complexity And Finding Peaks渐近表示法(Asymptotic Notation)Big-O(Big O)Big O定义算法分析的总体规划寻找峰值 (Peak Finding)线性搜索二分搜索
渐近表示法(Asymptotic Notation)
我们如何根据复杂度的顺序对算法进行比较和排序?
以下是三种常用的复杂性度量标准顺序:

Big O
Big Omega
Big Theta
其中Big O比起Big Omega和Big Theta更被广泛的接受和使用。

Big-O(Bi]]></description><category></category></item><item><title><![CDATA[IT项目管理的实例与总结]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112780753</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112780753</guid><author>Jifu_M</author><pubDate>Mon, 18 Jan 2021 16:18:36 +0800</pubDate><description><![CDATA[IT项目管理的实例与总结IntroductionGroup Charter人力资源规划Project Scope Statement项目进度计划与时间表Cost Estimate质量管理计划风险管理计划Microsoft Project中员工和工作时长的设置WBS图甘特图Project Stakeholder Management PlanMilestoneChange Request
Introduction
首先要向相关负责人介绍项目的相关背景，比如为什么要做个这个项目，这个项目能带来什么利益/好处。
]]></description><category></category></item><item><title><![CDATA[IT项目管理-使用Microsoft Project来进行IT项目管理]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112756313</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112756313</guid><author>Jifu_M</author><pubDate>Sun, 17 Jan 2021 20:19:46 +0800</pubDate><description><![CDATA[IT Project Managemen with Microsoft ProjectTask Sheet甘特图Network Diagram资源管理CalendarMilestoneDeadline
Task Sheet

在Task Sheet界面，我们可以编辑整个IT项目的整体流程。
第一列为Task的ID，它与Predecessors相对应，例如Author review of content edit的Predecessors是4，代表着只有在Content edit任务结束的情况下，这个任务才可]]></description><category></category></item><item><title><![CDATA[IT项目管理-总结与整理]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112715568</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112715568</guid><author>Jifu_M</author><pubDate>Sun, 17 Jan 2021 15:35:48 +0800</pubDate><description><![CDATA[IT Project Managemen如何定义什么是项目及其与运营的区别项目的属性有什么?什么是项目管理?我们如何定义一个项目成功了?项目经理作为项目成功的关键，他们需要什么技能?项目经理建议学习的技能什么是项目管理中的三重约束? 它与项目成功有什么关系?项目管理框架中的10个知识领域项目管理的系统视图项目与整个组织的关系3个基本的组织结构组织文化影响其管理项目的能力
本文章为结合实践经验和课程所学的总结。为了相关术语的准确，这里笔者不再手动将整理内容翻译成英文了。
如何定义什么是项目及其与运营的区别
A]]></description><category></category></item><item><title><![CDATA[数据库系统之SQL SELECT语句-4]]></title><link>https://blog.youkuaiyun.com/Jifu_M/article/details/112705789</link><guid>https://blog.youkuaiyun.com/Jifu_M/article/details/112705789</guid><author>Jifu_M</author><pubDate>Sat, 16 Jan 2021 14:54:51 +0800</pubDate><description><![CDATA[SQL - SELECT Statement -4Outer Join QueriesLEFT OUTER JOIN  And RIGHT OUTER JOINFull outer join queries嵌套查询关联嵌套查询Relational views高级DML语句References
接上篇文章
SQL SELECT语句-1：
https://blog.youkuaiyun.com/Jifu_M/article/details/112681846
SQL SELECT语句-2：
https://blog.csd]]></description><category></category></item></channel></rss>