自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jifu_M的博客

在CS Maseter学习期间的整理,包含个人练习项目,学习笔记,课程总结整理和教其他同学时用到的笔记。欢迎交流指正。

  • 博客(101)
  • 资源 (4)
  • 收藏
  • 关注

原创 算法和数据结构项目练习7-广度优先搜索(BFS)

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

2021-02-17 22:25:40 336

原创 算法和数据结构项目练习6-基于Karp‐Rabin 算法的字符串搜索

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

2021-02-17 21:22:54 284 1

原创 算法和数据结构项目练习5-哈希链表

Hash Chaining Table 项目介绍代码实现项目介绍本项目实现一个简单的哈希表。txt文件包含一个整数值序列。读取它们并使用链接构造一个哈希表。程序应该依次读取每个整数,并使用mod 100作为哈希函数计算其哈希值。因此,如果键是k,那么哈希值h(k) =kmod 100。(最简单的哈希函数)完成计算后打印:哈希表中空条目的数量。最长链的长度。不使用STL或等价的库。哈希表示例图如下:读取的文件示例:代码实现#include <ios

2021-02-17 16:55:44 294 1

原创 算法和数据结构项目练习4-BST排序

BST Sort项目介绍代码实现关于二叉查找树(Binary Search Tree)的介绍可以看一下我的这篇文章:https://blog.youkuaiyun.com/Jifu_M/article/details/112827685项目介绍本项目实现BST排序并测试它的正确性。被读取txt文件包含一系列整数值。读取它们并按照读取它们的顺序构造一个二叉搜索树。因此,读取的第一个数字将是树的根。在构建树的过程中,您不需要平衡它。当把最后一个值读入BST时,进行序遍历以升序输出值在5个字符宽的字段中每一

2021-02-17 16:38:07 277

原创 算法和数据结构项目练习3-数组虚拟初始化

Array Virtual Initialization项目介绍代码实现项目介绍这个项目将实现一个虚拟初始化数组并测试它的正确性。使用三个整数数组:data[]、forward[]和backward[],每个数组包含100个元素。txt文件包含一组成对的:where ,what。使用虚拟初始化将值what存储在数据数组的位置中。例如data[where] = what。这个序列被一对-1 -1终止。后面跟着一个单整数值序列probe。对于每个这样的值,您需要测试data[pr

2021-02-17 16:12:45 246

原创 算法和数据结构项目练习2-最小堆和最大堆

Implementing a Heap项目介绍项目介绍

2021-02-17 14:51:04 253 1

原创 算法和数据结构项目练习1-堆栈

Implementing a Stack项目要求代码实现项目要求读取包含若干单词的txt文本文件,并使用堆栈以相反的顺序在屏幕上显示这些单词。可以假设任何单词的长度都不超过20个字符。不使用单独的结构或类或STL来实现堆栈。练习用到txt文件如下所示:代码实现#include<iostream>#include<string>#include<fstream>using namespace std;void push(string* strin

2021-02-16 15:42:52 200

原创 算法和数据结构练习题-下

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.

2021-01-21 22:49:07 439

原创 算法和数据结构练习题-上

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. 归并排序的运行时间是否依赖于输入文

2021-01-21 22:04:23 691

原创 算法和数据结构之最短路径算法

Shortest Path AlgorithmsWeighted Graphs最短路径Dijkstra’s AlgorithmBellman-FordA*算法ReferencesWeighted Graphs通常,我们发现沿着图中的一条边移动会有一些相关的成本(或利润),例如边的距离,汽油的价格,花费的时间等等。我们称这之为加权图,称边值为权值。我们将之前的图定义扩展如下:加权图G由有序序列(V, E, W)组成,其中V和E是顶点和边,W是边的权值。V={a, b, c, d, e}E={(

2021-01-20 20:51:21 455

原创 算法和数据结构之Graphs

GraphsGraphsAdjacency ListsAdjacency MatrixGraph Search广度优先搜索(BFS)BFS算法深度优先搜索(DFS)DFS算法DFS穿越迷宫边的分类Cycle DetectionReferencesGraphs一个图由一组点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

2021-01-20 18:47:12 475

原创 算法和数据结构之哈希

Hashing哈希方程字典(Dictionaries)直接访问表Hashing With Chaining开放寻址法(Open Addressing)Probing使用开放寻址搜索开放寻址哈希函数Linear ProbingDouble Hashingh2的选择:Chaining 与Open Addressing使用哈希进行字符串搜索线性时间搜索Clever HashingKarp-Rabin字符串搜索References哈希方程哈希方程有很多情况,例如除留余数法:h(k) = k mod m如果

2021-01-20 15:56:46 472 1

原创 算法和数据结构之排2-4树详解

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 TreeReferences2-4 树2-4 树具有以下性质:每个内部节点(根节点除外)都有2到4个子节点。每个节点中的键按从小到大的顺序排列。内部节点比它们的子节点少一个键。每个这样的键在概念上被定位在两个连续的子节点之间。它的值比它左边的子树中最大的键要大,比它右边的子树中最小的键要小。树

2021-01-19 17:11:57 1813

原创 算法和数据结构之BST, AVL树的详解

Trees二叉查找树(Binary Search Tree)构建BST树搜索BST树AVL树(AVL Trees)构建AVL树K-ary TreesReferences二叉查找树(Binary Search Tree)二叉查找树是一个有一个额外条件的二叉树。对于每个节点:左子节点的内容≤当前节点的内容。当前节点的内容≤右子的节点的内容。构建BST树让我们从以下值建立一个BST: 15, 33, 9, 13, 5, 21, 11root = insert_first(15)insert(

2021-01-19 15:39:11 776

原创 算法和数据结构之排序与堆详解

Sorting And Heaps选择排序(Selection Sort)冒泡排序(Bubble Sort)插入排序(Insertion Sort)快速排序(Quicksort)归并排序(Mergesort)堆(Heap)Siftup:Siftdown堆排序(Heapsort)Makeheap主要排序算法效率总结References选择排序(Selection Sort)扫描数组以找到最小的值。如果它不在x[0]中,那么把它换到那里。(x[0]现在是最小的)扫描数组的其余部分,寻找下一个最小的。

2021-01-18 21:29:23 280

原创 算法和数据结构之复杂度与寻找峰值

Complexity And Finding Peaks渐近表示法(Asymptotic Notation)Big-O(Big O)Big O定义算法分析的总体规划寻找峰值 (Peak Finding)线性搜索二分搜索渐近表示法(Asymptotic Notation)我们如何根据复杂度的顺序对算法进行比较和排序?以下是三种常用的复杂性度量标准顺序:Big OBig OmegaBig Theta其中Big O比起Big Omega和Big Theta更被广泛的接受和使用。Big-O(Bi

2021-01-18 17:54:07 791

原创 IT项目管理的实例与总结

IT项目管理的实例与总结IntroductionGroup Charter人力资源规划Project Scope Statement项目进度计划与时间表Cost Estimate质量管理计划风险管理计划Microsoft Project中员工和工作时长的设置WBS图甘特图Project Stakeholder Management PlanMilestoneChange RequestIntroduction首先要向相关负责人介绍项目的相关背景,比如为什么要做个这个项目,这个项目能带来什么利益/好处。

2021-01-18 16:18:36 4313 1

原创 IT项目管理-使用Microsoft Project来进行IT项目管理

IT Project Managemen with Microsoft ProjectTask Sheet甘特图Network Diagram资源管理CalendarMilestoneDeadlineTask Sheet在Task Sheet界面,我们可以编辑整个IT项目的整体流程。第一列为Task的ID,它与Predecessors相对应,例如Author review of content edit的Predecessors是4,代表着只有在Content edit任务结束的情况下,这个任务才可

2021-01-17 20:19:46 1775

原创 IT项目管理-总结与整理

IT Project Managemen如何定义什么是项目及其与运营的区别项目的属性有什么?什么是项目管理?我们如何定义一个项目成功了?项目经理作为项目成功的关键,他们需要什么技能?项目经理建议学习的技能什么是项目管理中的三重约束? 它与项目成功有什么关系?项目管理框架中的10个知识领域项目管理的系统视图项目与整个组织的关系3个基本的组织结构组织文化影响其管理项目的能力本文章为结合实践经验和课程所学的总结。为了相关术语的准确,这里笔者不再手动将整理内容翻译成英文了。如何定义什么是项目及其与运营的区别A

2021-01-17 15:35:48 1924

原创 数据库系统之SQL SELECT语句-4

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/112681846SQL SELECT语句-2:https://blog.csd

2021-01-16 14:54:51 454

原创 数据库系统之SQL SELECT语句-3

SQL - SELECT Statement -3Join QueriesNatural Join QueriesColumn Name Join QueriesCross Join Queries两个表以上的Join QueriesSelf-Join QueriesReferencesJoin QueriesJoin操作“连接”两个关系表中的行。找出Peter领导的部门提供的所有课程的名称:有以下4种联合查询的方法:SELECT titleFROM COURSE JOIN DEPARTMENT

2021-01-16 00:44:09 283 1

原创 数据库系统之SQL SELECT语句-2

SQL - SELECT Statement -2Set Algebra QueriesUNION OperationINTERSECT OperationMINUS OperationSorting缺失值查询Set Algebra Queries包含三种操作:UNION, INTERSECTION 和DIFFERENCE。用图可以更直接的表达三者的关系:A UNION B:在A或在B中的所有元素A INTERSECTION B: 同时在A和B中的所有元素A DIFFERENCE B: 所有

2021-01-16 00:03:01 310

原创 数据库系统之SQL SELECT语句-1

SQL - SELECT Statement -1Projection Queries使用行函数的查询 (Queries with row functions)使用组函数的查询 (Queries with group functions)特殊查询简单条件查询使用布尔表达式的查询ReferencesProjection QueriesProjection Queries从关系表中选择整个列,并且没有WHERE语句。找到所有部门的完整信息:SELECT code, name, total_staff_n

2021-01-15 18:11:55 422

原创 数据库系统之SQL 数据操作语言 (DML)

SQL - Data Manipulation LanguageDELETE StatementINSERT StatementUPDATE StatementReferencesDELETE StatementDELETE语句删除满足给定条件的所有行。通过DELETE语句删除的行可以通过ROLLBACK语句恢复,除非DELETE已经通过COMMIT语句提交。DELETE语句不删除表。DELETE语句不会释放被删除行的磁盘存储空间。举例说明:删除一个代码为123的课程:DELETE FROM

2021-01-15 17:42:15 275

原创 数据库系统之SQL 数据定义语言 (DDL)

SQL - Data Definition LanguageCREATE TABLE StatementDROP TABLE StatementALTER TABLE StatementReferencesCREATE TABLE StatementCREATE TABLE语句使用给定的名称、给定的属性名称和类型以及给定的逻辑一致性约束创建一个新的关系表.属性类型包括:VARCHAR(size) 可变长度字符串,最大大小65535字节。CHAR(size) 固定长度字符串,最大大小255字节。I

2021-01-15 00:06:56 352

原创 数据库系统之SQL简介

Introduction to SQL简介特性简介SQL全称结构化查询语言(Structured Query Language)。最初称为SEQUEL (Structured English QUEry Language)。SQL是一种面向命令的、声明式的、通用于所有关系数据库管理系统的数据库编程语言。特性...

2021-01-14 23:35:52 623

原创 MongoDB项目练习之基于概念框图的validation设计

MongoDB validation项目介绍项目开始关于MongoDB validation的介绍可以看一下我的这篇文章:https://blog.youkuaiyun.com/Jifu_M/article/details/112595879项目介绍考虑以下数据库的概念框图,该数据库应该包含有关公司、部门和部门内工作的员工的信息。该任务的目标是创建一个新的集合JFM,其中包含由上面的概念模式表示的信息。使用createCollection方法创建一个集合JFM,并使用validator键对集合强制执行以下

2021-01-14 18:53:16 262

原创 MongoDB中的索引项目练习

MongoDB indexing项目介绍项目开始项目介绍我们拥有一个bookshop.js的文件,将文件导入的MongoDB后按照要求进行操作。练习用的bookshop.js已被上传到我的资源。https://download.youkuaiyun.com/download/Jifu_M/14159088关于MongoDB索引的介绍可以看一下我的这篇文章:https://blog.youkuaiyun.com/Jifu_M/article/details/112578054为下面4个查询语句创建索引:(1) 查找具

2021-01-14 18:03:51 327

原创 MongoDB中的aggregate项目练习

MongoDB aggregate项目介绍项目开始项目介绍我们拥有一个bookshop.js的文件,将文件导入的MongoDB后按照要求数据操作工作。练习用的bookshop.js已被上传到我的资源。https://download.youkuaiyun.com/download/Jifu_M/14159088.关于MongoDB聚合的介绍可以看一下我的这篇文章:https://blog.youkuaiyun.com/Jifu_M/article/details/112570952使用aggregate()来实现下面

2021-01-14 17:21:32 321

原创 MongoDB中的迭代cursor项目练习

MongoDB Iterations over a cursor项目介绍项目开始项目介绍我们拥有一个bookshop.js的文件,将文件导入的MongoDB后按照要求数据操作工作。练习用的bookshop.js已被上传到我的资源。https://download.youkuaiyun.com/download/Jifu_M/14159088.下面列出的查询必须通过cursor上的迭代来实现:(a) 在书店数据库中列出图书(书籍、杂志、音乐cd和杂志)的类型和每种类型的图书总数。(b) 列出每本书的标题和关

2021-01-14 17:08:38 276

原创 MongoDB中的数据操作项目练习

Data manipulations in MongoDB项目介绍项目开始项目介绍我们拥有一个bookshop.js的文件,将文件导入的MongoDB后按照要求数据操作工作。练习用的bookshop.js已被上传到我的资源。项目开始首先要创建一个文件夹来进行项目,之后启动MongoDB,最后读取文件:mkdir DATAmongod –dbpath DATA –port 4000mongo –port 4000load("bookshop.js");(1) 在 bookshop中

2021-01-14 16:40:31 398

原创 数据库系统之MongoDB Sharding

MongoDB Sharding基础知识为什么要Sharding?分配Sharding模拟ProductionReferences基础知识Sharding是将一个大型数据集划分为更小、更易于管理的片段的过程。Shared nothing架构是一种分布式计算架构,其中每个计算节点不与其他节点共享数据。在数据库系统中,它被称为sharding(shared nothing)。在出现以下三种情况时我们要考虑使用Sharding:大量的数据和更大的读/写吞吐量需求使得商品数据库服务器不够。数据

2021-01-14 16:21:11 490

原创 数据库系统之MongoDB复制

MongoDB Replication基础知识为什么我们要复制?复制模拟References基础知识复制意味着自动维护分布在多个MongoDB服务器上的数据。复制是作为一种称为副本集(replica sets)的机制实现的。副本集是一组节点,这些节点被配置为可以在节点消失时自动同步其数据并进行故障切换。旧版本的MongoDB支持一种称为master-slave的复制方法(现在被认为已弃用),该方法仍然可以在mongodbv3.0中使用。在这两种方法中,单个主节点接收所有写操作,然后所有次节点异步

2021-01-13 23:26:45 709

原创 数据库系统之MongoDB Validations

MongoDB Validations概述类型约束存在约束域约束JSON模式验证validations管理References概述JSON/BSON数据模型的半结构化和无模式属性允许对数据库结构进行非常灵活的操作。与此同时,数据库结构的灵活和不受控制的操作也很容易造成数据库结构和数据库内容的破坏,例如,由于随机错误。MongoDB提供了在更新和插入(不是删除)期间验证文档(validate documents)的能力。验证规则具体来说就是使用createCollection() 方法的valida

2021-01-13 22:48:11 1010

原创 数据库系统之MongoDB索引

MongoDB Indexing索引的概述单键索引 (Single key index)复合键索引稀疏索引 (Sparse index)多键索引哈希索引 (Hashed index)Geospacial index索引管理References索引的概述索引可以显著的减少访问文件所需的时间。如果没有索引,必须访问集合中的所有文档。单键索引最适合{“key”:“value”}查询条件。对于多个键的查询条件,例如{$and:[{“key1”:“value1”},{“key2”:“value2”}]}复合

2021-01-13 19:19:11 161

原创 数据库系统之MongoDB聚合

MongoDB Aggregations聚合框架$project$match$limit$skip$unwind$group$sort$out$countReferences聚合框架聚合框架是一种查询语言,可用于转换和组合来自多个文档的数据,以生成任何单个文档中都无法获得的新信息。MongoDB中的聚合框架类似于SQL 中的GROUP BY和HAVING。聚合框架过在一个数组中指定一系列操作并在一个调用中处理它,使得任务数据库搜索更加容易和高效。聚合框架定义了一个聚合管道,其中管道中每个步骤的输出

2021-01-13 16:43:37 221

原创 数据库系统之MongoDB数据操作

MongoDB Data Manipluations文档插入文档删除更新文档References文档插入insert()语句可用于将单个文档插入到集合中:db.department.insert({ "name":"School of Computing and Information Technology","code":"SCIT","total_staff_number":30,"budget":1000000,"address":{"street":"Er xian qiao str

2021-01-13 16:01:49 222

原创 MongoDB查询语言项目练习

MongoDB查询语言项目练习项目介绍项目开始关于MongoDB查询语言的介绍可以看我的这篇文章:https://blog.youkuaiyun.com/Jifu_M/article/details/112549035项目介绍我们拥有一个bookshop.js的文件,将文件导入的MongoDB后按照要求进行查询工作。项目开始首先要创建一个文件夹来进行项目,之后启动MongoDB,最后读取文件:mkdir DATAmongod –dbpath DATA –port 4000mongo –port 4

2021-01-12 22:59:08 309

原创 数据库系统之MongoDB查询语言

MongoDB query language对嵌套文档的查询数组的查询操作符Projections查询空值和丢失的键使用 cursor进行迭代References简单的find语句已经在我的上篇文章介绍过了:https://blog.youkuaiyun.com/Jifu_M/article/details/112543664这篇文章介绍相对复杂一些的find语句。对嵌套文档的查询db.department.find({"courses":[{"code":"001","title":"ABC", "cred

2021-01-12 22:38:02 799

原创 数据库系统之MongoDB数据库,集合与文档

MongoDB Databases, Collections,DocumentsMongoDB基础知识服务器数据库集合 (Collections)文档(Documents)格式化(Formatting)DDLDML查询语句ReferencesMongoDB基础知识MongoDB是一种数据库系统,属于一类所谓的NoSQL数据库系统,它基于不同于关系模型的数据模型以及不同于SQL的数据定义、操作、检索和管理语言。MongoDB数据模型(BSON)是基于key:value对的概念,将key:value对分组

2021-01-12 19:18:47 1087

bookshop.js

练习项目用到的资源。 练习项目: MongoDB查询语言项目练习和数据操作项目练习: https://blog.youkuaiyun.com/Jifu_M/article/details/112549430 https://blog.youkuaiyun.com/Jifu_M/article/details/112617386 aggregate项目练习和cursor迭代器练习: https://blog.youkuaiyun.com/Jifu_M/article/details/112621063 https://blog.youkuaiyun.com/Jifu_M/article/details/112620512

2021-01-14

Labview项目---交通信号灯模拟器

https://blog.youkuaiyun.com/Jifu_M/article/details/112332379

2021-01-07

使用Labview制作的复利计算器

Labview的初学者可以看这个项目很快的熟悉Labview的一些基本操作 项目介绍: https://blog.youkuaiyun.com/Jifu_M/article/details/112323830

2021-01-07

基于DES结构ECB模式的加密算法设计

现代密码学练习项目 https://blog.youkuaiyun.com/Jifu_M/article/details/112187588

2021-01-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除