自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kelvinmao的博客

Don't be evil

  • 博客(57)
  • 收藏
  • 关注

原创 学籍管理系统文档

KelvinMao BlogTECHNOLOGY,LIFE AND THINKINGMAY 28, 2018KELVINMAO学籍管理系统文档Part1 常量定义1.常值定义MAX_NAME_LEN 最大姓名长度MAX_CLASS_LEN 最大班级编号长度MAX_ID_LEN 最大学号长度MAX_SCORE_LEN 最大成绩长度MAX_STACK_SIZE 最大栈空间MAX_...

2019-04-24 09:29:38 577

原创 微机原理

Part1 常量定义1.常值定义MAX_NAME_LEN 最大姓名长度MAX_CLASS_LEN 最大班级编号长度MAX_ID_LEN 最大学号长度MAX_SCORE_LEN 最大成绩长度MAX_STACK_SIZE 最大栈空间MAX_BUFFER_SIZE 缓冲区最大空间MAX_STU_BUFFER_SIZE 学生实例缓冲区最大空间...

2018-05-18 15:46:33 2178

原创 Andrew Ng Neural-networks-deep-learning 课程笔记一

Week1 Introduction to Deep LearningTips:在Andrew Ng的课程中,通常使用列向量构成的矩阵来表示一系列样本,如X.shape=(n_x,m),n_x为特征数,m为样本数1.Neural Networks Basics(1)Binary classification二分类问题二分类问题中,结果为离散的两个值,通常为0,1以“识别图片中是否为猫

2017-09-06 21:12:54 1226

原创 图书馆信息管理系统文档

一. 概述1.目录结构文件说明1. Data_Structure.h定义了依赖的数据结构2. CBook.h定义”Book”类3. CData_Processor.h定义”Data_Processor”类,用于处理数据结构4. CLibrary.h定义“Library”类,用于处理对”Book”的相关操作5.CSearch_Book.h定义查找类,以要求的方式对书籍进行查找6. CSort.h定义排

2016-12-29 08:57:16 3414

原创 Leetcode解题笔记(Stack)

Leetcode解题笔记(Stack) * 源码见github https://github.com/Kelvinmao/Leetcode/tree/master/Stack * 2016-07-22更新 94.Binary Tree Inorder TraversalGiven a binary tree, return the inorder traversal of its nodes

2016-08-13 12:06:06 616

原创 287.Find the Duplicate Number

287.Find the Duplicate NumberGiven an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), prove that at least one duplicate number must exist. Assume that there is o

2016-08-13 12:02:28 452

原创 利用循环不变式写出正确的二分查找及其衍生算法

一.你能准确写出二分查找吗?先看看定义 二分查找的搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则查找成功;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。思路很简单以至于大多数人都能讲出来,但是有多少人能一次写出bug-free的

2016-08-05 16:34:53 1265

原创 STL学习之路(一) deque

std::deque deque (usually pronounced like “deck”) is an irregular acronym of double-ended queue. Double-ended queues are sequence containers with dynamic sizes that can be expanded or contracted on bo

2016-07-28 19:05:34 561

原创 Leetcode解题笔记(Array)

源码见github https://github.com/Kelvinmao/Leetcode/tree/master/Array 2016-08-08更新154.Find Minimum in Rotated Sorted Array IIFollow up for “Find Minimum in Rotated Sorted Array”: What if duplicates are al

2016-07-23 22:38:02 7194

原创 C++学习之路(3) 常用数据结构与STL

一.什么是STLSTL全称为Standard Template Library,即标准模板库,该库提供一些常用的容器对象和一些通用的算法等,大家可以理解STL就是一个库,该库帮我们封装了很多容器类和通用的方法,我们可以通过调用该库中封装好的方法和容器类来进行编程二.STL 六大组件容器(Container)算法(Algorithm) 迭代器(Iterator) 函数对象,又称仿函数(Func

2016-07-22 16:32:32 1749

原创 C++学习之路(2) C++输入输出 new delete操作符 函数重载

一. C++风格的输入输出在编写C++程序时,如果需要使用输入输出时,则需要包含头文件 iostream。在 iostream 中定义了用于输入输出的对象,例如常见的 cin 表示标准输入、cout 表示标准输出、cerr 表示标准错误。使用 cout 进行输出时需要紧跟<<操作符,使用 cin 进行输入时需要紧跟>>操作符,这两个操作符可以自行分析所处理的数据类型,因此无需像使用 scanf 和

2016-07-22 11:45:52 526

原创 C++学习之路(1) 类和对象,命名空间,标准库和std命名空间

一.类和对象的概念类 :C++中的类是一种用户定义的类型,可以理解为C语言中的结构体的升级版。对象 :C++中的类也是一种构造数据类型,但是进行了一些扩展,类的成员不但可以是变量,还可以是函数;通过类定义出来的变量就叫做对象。下面给出一段示例代码:#include<stdio.h>int main(void){ class Student{ public:

2016-07-22 09:09:56 1100

原创 Leetcode解题笔记(Stack)

2016-07-22更新 94.Binary Tree Inorder TraversalGiven a binary tree, return the inorder traversal of its nodes’ values.For example: Given binary tree [1,null,2,3], return [1,3,2].题目要求完成二叉树中序遍历,递归解法太简

2016-07-20 21:59:59 504

原创 Leetcode解题笔记(Linked List)

2016-07-20更新: 61.Rotate ListGiven a list, rotate the list to the right by k places, where k is non-negative.For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5->1->2->3->NULL.这道题的大意是将元素向右移

2016-07-18 21:23:20 2321

原创 Leetcode解题笔记(Linked List)

2016-07-17更新:142.Linked List Cycle IIGiven a linked list, return the node where the cycle begins. If there is no cycle, return null.给定一个单链表,判断其是否带环,若带环返回环的入口结点,否则返回NULL.判断是否带环,快慢指针法就可以解决问题。要返回环的入口,就显得比

2016-07-17 21:37:11 467

原创 Leetcode解题笔记(Linked List)

2016-07-16更新:19.Remove Nth Node From End of List Given a linked list, remove the nth node from the end of list and return its head.For example, Note: Given n will always be valid. Try to do this

2016-07-16 22:38:26 414

原创 Leetcode解题笔记(Linked List)

2016-07-15更新160.Intersection of Two Linked Lists Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists: begin to i

2016-07-15 19:13:28 707

原创 Leetcode解题笔记(string)

344.Reverse StringWrite a function that takes a string as input and returns the string reversed.Example: Given s = “hello”, return “olleh”.题意:给出字符串,将其反转,写出这样的函数。函数定义如下:char* reverseString(char* s) {}

2016-07-14 22:23:36 497

原创 Git学习之路(一) 建立版本库并实现文件操作

一.引入GitGit是目前最大的开源版本控制系统,那么说到版本控制,到底什么是版本控制呢?为什么要进行版本控制呢?当我们在编写代码的过程中,有时候要增加一个新功能,于是若干天之后新功能实现了,但在反复的测试过程中发现代码中存在问题,该怎么办呢?如果有一个工具能够恢复到旧的版本就好了。Git就就可以帮你完成这个心愿,这其中恢复旧版本的操作就叫做版本控制二.安装GitGit最早是在Linux下开发的,尽

2016-07-14 21:38:29 723

原创 python网络爬虫学习(六)利用Pyspider+Phantomjs爬取淘宝模特图片

一.新的问题与工具平时在淘宝上剁手的时候,总是会看到各种各样的模特。由于自己就读于一所男女比例三比一的工科院校……写代码之余看看美女也是极好的放松方式。但一张一张点右键–另存为又显得太过麻烦而且不切实际,毕竟图片太多了。于是,我开始考虑用万能的python来解决问题。我们先看看淘女郎页面的URL,https://mm.taobao.com/json/request_top_list.htm?page

2016-06-16 11:25:50 7245

原创 python网络爬虫学习(五) 模拟登陆北邮信息门户并爬取信息

之前利用爬虫爬取过百度贴吧的部分页面,但是百度贴吧并不需要登录。当我们发现一些网站上有具有实用价值的信息时,又往往需要登录后才能查看这些信息。那么如何通过python模拟登陆这些网站呢?我们以北邮信息门户为例。一.工具1.requests库2.firefox浏览器和Temper Data“工欲善其事,必先利其器”,之前我们介绍过urllib和urllib2这两个python自带的库。而request

2016-06-10 20:55:18 6234 2

原创 二叉排序树(BST)的思路及C语言实现

请注意,为了能够更好的理解二叉排序树,我建议各位在看代码时能够设置好断点一步一步跟踪函数的运行过程以及各个变量的变化情况一.动态查找所面临的问题在进行动态查找操作时,如果我们是在一个无序的线性表中进行查找,在插入时可以将其插入表尾,表长加1即可;删除时,可以将待删除元素与表尾元素做个交换,表长减1即可。反正是无序的,当然是怎么高效怎么操作。但如果是有序的呢?回想学习线性表顺序存储时介绍的顺序表的缺点

2016-05-31 11:26:21 10312 2

原创 三种静态查找的思路及具体实现

一.查找及其相关概念查找,就是根据给定的某个值,在查找表中确定一个关键字等于数据值的数据元素的过程查找表按操作方式可分为两种:静态查找表:只做查找操作的查找表动态查找表:在查找过程中插入新的数据元素或删除原有的数据元素二.静态查找的三种具体方式1.顺序查找算法顺序查找,也称线性查找,是从第一个元素开始,将后面的每个元素与给定元素进行比对,若相同,则返回该元素;若没有与之相同的元素,返回空#i

2016-05-29 10:46:16 4784

原创 图的邻接表存储及其实现

图的邻接矩阵存储虽然直观,但是我们容易发现其浪费空间的问题十分严重。在线性表中,我们引入链式存储结构来弥补空间浪费的问题,同样,在图结构中,我们也可以用类似的方法来解决。由此,我们想到了将数组与链表结合起来的方法,用数组存储链表头指针,链表中存储与某一顶点的全部邻接点在数组中的索引,这样就解决了空间浪费的问题。下面贴出示例代码:#include<stdio.h>#include<stdlib.h>

2016-05-28 10:39:05 1800

原创 图的邻接矩阵存储及其具体实现

一.图的相关概念1.图的定义2.图的相关概念 要查看更详尽的概念,请参阅《大话数据结构》二.图的邻接矩阵存储结构由于图在结构上的复杂性,我们无法简单地用一个顺序存储结构来进行图的存储。由于无法用一个一维数组进行存储,那么考虑二维数组来进行存储。*邻接矩阵用一个一维数组来存储各个顶点的信息,用一个二维数组来存储各个顶点之间的连接关系*我们来看一个实例: 我们很容易理解顶点数组的意义,那么如何理

2016-05-27 19:54:27 14139 1

原创 python网络爬虫学习(四)正则表达式的使用之re的其他方法

在上一篇文章中,我们学习了re的match方法,那么掌握了match方法,其他的方法学起来就相对轻松许多,下面对这些方法进行介绍re.searchsearch方法与match方法最大的不同在于,match方法要求必须是从字符串的起始开始匹配,而search则会扫描整个字符串进行匹配。下面给出示例代码:# -*-coding=utf-8 -*-import repattern=re.compile

2016-05-26 22:55:54 1960

原创 python网络爬虫学习(三)正则表达式的使用之re.match方法

一.为什么要学习正则表达式很好,我们现在已经能够写出获得网站源代码的程序了,我们有了第一个问题:如何从杂乱的代码中找到我们所需的信息呢?此时,正则表达式的学习就显得很有必要了。有人打趣说,当你想到用正则表达式解决一个问题时,你就拥有了两个问题。从这句话中可以看出正则表达式学习的困难程度,但是为了写出好的爬虫,我们必须对其进行学习。二.正则表达式的语法规则’>1.正则表达式的一些注解(一)贪婪与非贪婪

2016-05-23 23:37:42 18941

原创 python网络爬虫学习(二)一个爬取百度贴吧的爬虫程序

今天进一步学习了python网络爬虫的知识,学会了写一个简单的爬虫程序,用于爬取百度贴吧的网页并保存为HTML文件。下面对我在实现这个功能时的代码以及所遇到的问题的记录总结和反思。首先分析实现这个功能的具体思路: 通过对贴吧URL的观察,可以看出贴吧中的帖子的URL有这样一个特征,以“http://tieba.baidu.com/p/4463392102?pn=3”这个URL为例,它由“http:

2016-05-21 17:00:25 1565

原创 python网络爬虫学习(一)通过GET和POST方式获取页面内容

python网络爬虫学习 (一)通过GET和POST方式获取页面内容网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。HTTP协议中定义了四个与服务器进行交互的方法,分别是GET, POST,PUT,DELETE ,实际对应对服务器内容的“增”删“改”查“四个操作本篇文章主要记录我学习GET和POST请求方式的过程首先,如何区

2016-05-20 21:06:13 22094

原创 面试中关于二叉树的常见习题(持续更新)

这两天看了几篇关于面试中关于二叉树的常见问题,感到思路得到了很大的拓展,对递归的理解也更加深入,下面将问题及代码总结如下:Q1:求二叉树第k层的结点个数 A:递归思路:空树返回0;只有根节点返回1;其余情况对左右子树进行递归,返回左右子树(k-10层)结点数之和/*求二叉树第k层的结点个数*//*空树返回0,只有根节点返回1,其余情况对左右子树进行递归,返回左右子树(k-10层)结点数之和*/

2016-05-18 09:53:40 869

原创 二叉树几种遍历算法的非递归实现

二叉树遍历的非递归实现相对于递归遍历二叉树,非递归遍历显得复杂了许多,但换来的好处是算法的时间效率有了提高。下面对于我学习非递归遍历二叉树算法的过程进行总结为了便于理解,这里以下图的二叉树为例,分析二叉树的三种遍历方式的实现过程。 一.非递归实现二叉树的前序遍历不借助递归,要实现二叉树的前序遍历,我们需要用到前面学过的栈这种数据结构。根据前序遍历的定义,先访问根节点,再访问左子树,最后访问右子树

2016-05-15 11:43:32 18022

原创 二叉树复习以及部分常见习题

今天复习了二叉树的链式存储结构,又发现了之前忽略的一些细节问题,现在总结整理如下问题一: 在字符串赋值函数中,未将全局变量初始化造成错误,说明对全局变量理解不够深入,错误代码及改正如下:Status StringAssign(String S,char * chars){ int index=1;/*2016-05-11 惊奇的发现这句很重要,找了半天才发现这个错误*/ if(s

2016-05-11 11:15:16 882

原创 霍夫曼树及霍夫曼编码的C语言实现

从周五开始学习霍夫曼树,一直到今天终于完成,期间遇到了各种各样的棘手的问题,通过一遍遍在纸上分析每一步的具体状态得以解决。现在对学习霍夫曼树的过程加以记录首先介绍霍夫曼树霍夫曼树(Huffman Tree),又称最优二叉树,是一类带权路径长度最短的树。假设有n个权值{w1,w2,…,wn},如果构造一棵有n个叶子节点的二叉树,而这n个叶子节点的权值是{w1,w2,…,wn},则所构造出的带权路径长度

2016-05-08 21:15:32 38476

原创 二叉树链式存储的C实现

在实现二叉树的链式存储的过程中,我遇到了一些问题,感到对递归的理解还不够深入。另外,代码中有一处必须使用全局变量做数组索引,还在研究其中的原因,代码已完成,现在贴在博客中供参考#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#define MAXSIZE 100#define OK 1#define

2016-05-01 20:07:47 1670

原创 二叉树顺序存储的实现

在实现二叉树的顺序存储的过程中,遇到了一些问题,现记录如下:#include<stdio.h>#include<stdlib.h>#include<math.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100/*存储空间初始分配量*/#define MAX_TREE_SIZE 10

2016-04-30 20:25:59 4904

原创 对于C语言free()函数的一些反思

上周在解决一道课后习题的时候,偶然间发现了一个自己从未注意过的问题,问题描述如下:在遍历一个循环链表时,我发现在我调用free()函数删除了一个节点之后,仍然能用printf打印出原先的数据,起初我以为是巧合,并未加以注意。今天我又尝试free其他节点,之后仍然能够通过printf打印出原先的值,这个问题立刻引起了我的注意。下面将出现问题的代码附在下方,供各位查看:#include<stdio.

2016-04-27 10:53:12 2838

原创 数据结构与算法习题汇总(4)

一. 用rear,front表示队尾和队首指针,实现循环队列入队,出队算法/*入队列*/ status enterqueue(queue *Q,elemtype data){ if((Q->rear+1)%maxsize==Q->front){ printf("队列已满\n"); return ERROR; } Q->data[Q->rear

2016-04-27 10:36:33 977

原创 借助栈实现表达式的计算

这两天要复习准备考试,博客没有及时更新。另一方面,后缀表达式的转化及求值的程序始终没有写好,让我异常苦恼,心情也是莫名烦躁。现在表达式求值的程序已基本实现,仍有不足之处需要改进,各位可以参考,由于时间关系,无法细致讲解。将在考完试后的更新中加以补充,各位先看代码后的注释吧,注释还是比较详细的,代码如下#include<stdio.h>#include<stdlib.h>#define OK 1

2016-04-20 23:40:11 579

原创 数据结构与算法习题汇总(3)

Q:判断一字符串是否为回文 A:对于这种要求输入和输出相反的情况,一般采用栈来解决,对于此题,只需将正序的字符串压栈再将其全部弹出栈,判断是否相同即可,代码如下:#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100ty

2016-04-13 22:04:37 1339

原创 栈的思想用于求解迷宫问题

迷宫问题是一个经典的问题,当迷宫规模较大时,手工求解是十分困难的,所以用善于进行重复繁琐计算的计算机来求解便十分合适。基本思想和解决“八皇后问题” 的思想一致,都是利用回溯法。从入口开始,探索每一个迷宫中没有被墙挡住的位置,如果该位置可以移动到下一个位置,则标记该位置已被探索过并入栈;如果不能移动到下一位置,则标记为探索失败并回退到上一个位置,如果最终退回了出发点,则说明迷宫无解。下面附上代码:#i

2016-04-08 22:14:41 1140

空空如也

空空如也

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

TA关注的人

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