<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ajay666的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ajay666</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ajay666]]></copyright><item><title><![CDATA[Windows下tensorBoard不显示问题解决办法：No dashboards are active for the current data set]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/79032279</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/79032279</guid><author>Ajay666</author><pubDate>Thu, 11 Jan 2018 11:33:25 +0800</pubDate><description><![CDATA[tensorBoard是TensorFlow的可视化工具，对理解我们编写的TensorFlow程序有很大帮助，今天我试运行了一下TensorFlowBoard，出现一下错误：



以下是可能导致错误的原因：

1、确保你写入的事件文件夹里面有文件，即TensorFlow正确配置： 
     
    截图显示有一个后缀名为AJAY（这是我的主机名）的文件，说明TensorFlow正确安装。]]></description><category></category></item><item><title><![CDATA[2017腾讯校招笔试编程题-拼凑零钱]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77969736</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77969736</guid><author>Ajay666</author><pubDate>Wed, 13 Sep 2017 19:09:51 +0800</pubDate><description><![CDATA[今天刚刚参加了2017年的腾讯校招在线笔试，其中有一道编程题是这样的：小明很富有，有币值为2^n(n=0,1,2,3)的硬币各两个，即有两个1块钱的硬币，有两个2块钱的硬币，有两个四块钱的硬币。。。，现在输入一个正整数数m（0
比如输入6，则输出3，因为6=2+4=1+1+4=1+1+2+2。
下面是我的解法：
#include 
using namespace std;
int cnt=0]]></description><category></category></item><item><title><![CDATA[小明学C++第五篇：操作系统]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77653022</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77653022</guid><author>Ajay666</author><pubDate>Mon, 28 Aug 2017 20:05:05 +0800</pubDate><description><![CDATA[本篇博客重点在于文件系统，中断、进程的概念，以及整个存储系统的实现。
背景前面讲到小明编写了一个多边形面积计算的程序，小明将它编译成二进制可执行代码保存在计算机中。然后小明双击该文件并运行，期间小明输入了几个顶点坐标后，最终控制台显示了正确的结果。那么这期间又发生了什么呢？文件的存储讲到文件的存储，就涉及到文件系统。 
下面一段句子是微软对文件系统的描述：
  A file system is a]]></description><category></category></item><item><title><![CDATA[小明学C++第四篇：数的表示和运算、函数调用、流水线]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77637547</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77637547</guid><author>Ajay666</author><pubDate>Mon, 28 Aug 2017 12:10:29 +0800</pubDate><description><![CDATA[在小明学C++第二篇，我们看到，小明用了整型、浮点型等数据类型，那么这些数据类型在计算机里面是怎么表示的？它们的运算操作又是怎么实现的？此外，主函数调用面积计算函数calculate的时候到底发生了什么？经过翻译后，一条高级语言编写的语句变成了很多不可再分割的独立的机器语言，也就是指令。那么多的指令是如何在计算机上面运行的呢？下面我们就逐一来探讨一下以上的问题。
数的表示和运算（1）为什么是二进制？]]></description><category></category></item><item><title><![CDATA[小明学C++第三篇：编译原理]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77530891</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77530891</guid><author>Ajay666</author><pubDate>Thu, 24 Aug 2017 17:12:42 +0800</pubDate><description><![CDATA[懒惰是人类第一生产力，抽象是计算机伟大的思想。我们都知道计算机只认识0和1，而且是按照冯诺依曼结构组织起来的。数据跟指令都存放在主存里，根据不同的指令周期来区分是数据还是指令。在早期的计算机，人类必须编写很长只有0和1的机器语言来跟计算机交流，但这是非常低效的，因为0和1只要稍不留神，就会写错，最后可能造成很大的程序错误。于是人们就发明了以助记符为标志的汇编语言，这个已经好多了，毕竟可以通过语句直接]]></description><category></category></item><item><title><![CDATA[小明学C++第二篇：数据类型、数据结构、算法]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77510777</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77510777</guid><author>Ajay666</author><pubDate>Wed, 23 Aug 2017 22:10:29 +0800</pubDate><description><![CDATA[语言跟文字是人类文明的象征。而数字的发明则意味着人类逻辑与理性思维的一面。从文艺复兴到电气时代，艺术和科学似乎交替地发展。在上世纪，人类发明出了计算机，从此加快了科学的发展，改变了我们的世界。计算机的核心是以数学的基础的计算科学，计算科学着眼于什么问题是可以计算的，什么是不可计算的，可以计算的问题又如何更加高效地进行计算。经过了几十年的发展，计算机领域已经积累了其特有的技术，有些算法也让人深感思想的]]></description><category></category></item><item><title><![CDATA[小明学c++系列之第一篇:网络篇]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77470879</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77470879</guid><author>Ajay666</author><pubDate>Tue, 22 Aug 2017 16:56:17 +0800</pubDate><description><![CDATA[胡适先生曾说：“发表是吸收的利器”，于是我写下这篇文章。我看了一些计算机基础，我感觉里面的知识都没有活力，于是，我希望用我的方式将计算机的工作机制正确地、简洁地、有趣地讲明白。这篇文章适用于没有计算机基础但希望了解计算机的人以及有一些计算机基础但是对计算机缺乏一个整体认知的人。
背景小明学c++其实讲得是一个故事。话说有一天小明心血来潮，突然自学计算机。他听说C++是一个不错的计算机语言，于是他打开]]></description><category></category></item><item><title><![CDATA[路由算法：RIP、OSPF、BGP]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77149612</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77149612</guid><author>Ajay666</author><pubDate>Sun, 13 Aug 2017 20:17:21 +0800</pubDate><description><![CDATA[互联网发展到现在，计算机体系已经非常庞大，在数量众多的计算机里面，计算机与计算机是怎么知道哪个线路是通的，哪条路径可以选择，才能让彼此进行通信？我们知道计算机寻路是路由器来进行的，那么路由器使用了什么方法呢？主要有以下三种方法来进行路由。
内部网关协议RIPRIP协议应该是一种最简单的内部网关协议了。 
内部网关协议是跟外部网关协议相对的。在自治系统（比如校园网）里面用的路由协议就是内部网关协议，而]]></description><category></category></item><item><title><![CDATA[B-树和B+树]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77094453</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77094453</guid><author>Ajay666</author><pubDate>Fri, 11 Aug 2017 12:11:55 +0800</pubDate><description><![CDATA[前面提到的平衡二叉树用于查找十分方便，但是这种树只能用于数据量较小的场景。当数据集较大，比如有几百万行记录的文件，其容量超过了内存的大小，就需要储存在磁盘上。在这种时候，平衡二叉树的表现并不理想，因此需要一种更好的数据结构（在数据库中叫做索引）来加快查找，这就是B树或者B+树。
B-树(balance-search-tree)一颗m阶的B-树或为空树，或为满足下列特性的m叉树： 
（1）树中每个节点]]></description><category></category></item><item><title><![CDATA[二叉排序树、平衡二叉树以及红黑树]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/77017567</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/77017567</guid><author>Ajay666</author><pubDate>Wed, 09 Aug 2017 22:00:12 +0800</pubDate><description><![CDATA[现实生活中，有很多找东西的例子，比如在学校找某个人，在驿站找快递，在信息登记表上查找某个人的信息，那么在计算机科学中，具体有哪些可以加快查找的算法？下面我们就来看看其中的动态查找算法，动态查找的意思是当你查找某个键值的信息，若存在则输出，否则将插入该键值为后续进行查找。
二叉排序树首先我们来看看二叉排序树，二叉排序树有点类似于二分查找的思路，但是它用树的形式来表示查找的方向。 
定义： 
（1）一个]]></description><category></category></item><item><title><![CDATA[利用二叉树的非递归后序遍历求解最近公共祖先问题]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/76736416</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/76736416</guid><author>Ajay666</author><pubDate>Sat, 05 Aug 2017 22:38:34 +0800</pubDate><description><![CDATA[通过上一篇的博客我们知道，可以利用栈来实现二叉树的后序遍历。其实这里有一个性质，就是当使用非递归后序遍历时，栈中的元素就是当前节点到根节点的路径。利用这个规律，我们就可以求解最近公共最先问题了。
算法
找出两个节点各自到根节点的路径。这里利用非递归后序遍历二叉树，既可以找到两个节点到根节点的路径。
根据路径找出最近的公共祖先。首先根节点肯定是他们的祖先，可以从跟节点开始查找，直到最后一个相同的树节点]]></description><category></category></item><item><title><![CDATA[二叉树的C++实现]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/76736333</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/76736333</guid><author>Ajay666</author><pubDate>Sat, 05 Aug 2017 22:26:28 +0800</pubDate><description><![CDATA[数据结构与二叉树类的定义我采用链式存储结构来表示二叉树，每一个二叉树节点包含树节点的值、树的左孩子指针、树的右孩子指针：class BiNode{
public:
    char data;
    struct BiNode *lchild,*rchild;
};那么对于一个二叉树来说，只需要存放指向树根节点的指针即可，另外还需要声明二叉树的一些功能，比如遍历方法、求树高等（BiTree.h）：]]></description><category></category></item><item><title><![CDATA[链队列的C++实现及其应用]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/75567266</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/75567266</guid><author>Ajay666</author><pubDate>Thu, 20 Jul 2017 17:22:09 +0800</pubDate><description><![CDATA[队列是先进先出的数据结构，符合世间万物先到先得的处理顺序。本文将列出如何实现队列。本文使用链表加上头指针和尾指针构成了队列，其中头指针指向队头元素的上一个节点（头结点），尾指针指向队尾元素。
链队列实现
头文件定义在LinkQueue.h:
#ifndef LINKQUEUE_H_INCLUDED
#define LINKQUEUE_H_INCLUDED
using Type = int;
type]]></description><category></category></item><item><title><![CDATA[栈的C++实现及其应用]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/75528523</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/75528523</guid><author>Ajay666</author><pubDate>Thu, 20 Jul 2017 14:34:30 +0800</pubDate><description><![CDATA[栈是一种先进后出的数据结构，是一种功能受限的线性表。因为这世间存在这后进先出的计算顺序，为简化计算的过程，栈得以应用。好比装水的桶，好比装子弹的弹夹。
栈的C++实现本文主要是编程实现栈，使用的是顺序储存结构（动态数组）来实现栈，需要注意的是当内存空间不够用，即栈满的时候，应该将重新开辟新的空间（大小为源空间大小+STACK_INCREMENT），然后将数据复制到新空间，在重新释放旧空间。 
下面给]]></description><category></category></item><item><title><![CDATA[最新图文讲解如何在win10环境下安装ubuntu双系统]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/75208509</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/75208509</guid><author>Ajay666</author><pubDate>Sun, 16 Jul 2017 17:47:04 +0800</pubDate><description><![CDATA[为学习之需，本人在win10上安装了ubuntu系统，下面将用最详细易懂的方式讲解如何安装双系统。
下载镜像文件并刻录到光盘
百度搜索ubuntu，进入ubuntu官网，选择合适的ubuntu系统版本，下载镜像文件；（使用浏览器下载比较慢，建议使用迅雷） 下载ultraISO将iso文件刻录到U盘上： 
在本地目录栏找到刚才下载的iso文件，双击该文件，将光标移至启动，按鼠标左键： 
 
按照图片的]]></description><category></category></item><item><title><![CDATA[ext2文件系统]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/75100538</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/75100538</guid><author>Ajay666</author><pubDate>Fri, 14 Jul 2017 11:14:32 +0800</pubDate><description><![CDATA[经过前面两篇文章的讲解，我们对文件系统和磁盘管理有了大致的认识，那么现在我们应该找一个实例来深入认识这些方法，看看工业界是怎么把这些方法应用起来的（其实这些方法应该是首先被应用于工业界，然后再被操作系统总结出来的）。ext2文件系统，是Linux内核早期使用的文件系统，作为我们学习文件系统是很合适的。在学习ext2系统之前，我们不妨思考一下，如果给你一个光秃秃的磁盘，你需要创建一个文件系统，你要怎么]]></description><category></category></item><item><title><![CDATA[操作系统之磁盘管理]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/75098446</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/75098446</guid><author>Ajay666</author><pubDate>Fri, 14 Jul 2017 10:43:44 +0800</pubDate><description><![CDATA[磁盘存储器具有容量大、存取速度快、支持随机存取的特点，因此被广泛应用于计算机系统中。对于操作系统来说，管理好磁盘的三大要求和目标是： 
  （1）合理有效利用磁盘：采用合理的文件存储空间分配算法，尽量减少磁盘碎片，提高硬盘的利用率； 
  （2）提高磁盘的I/O速度：采用缓存等技术，提供访问速度； 
  （3）提高磁盘可靠性：采用冗余和纠错检错等技术，保证磁盘的数据不会被破坏。
外存的组织方式文件是]]></description><category></category></item><item><title><![CDATA[操作系统之文件管理]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/75093379</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/75093379</guid><author>Ajay666</author><pubDate>Thu, 13 Jul 2017 22:02:42 +0800</pubDate><description><![CDATA[我们知道，在内存中存储的数据在断电后将会消失，并且内存的容量很小，所以电脑中都有硬盘，用来存放大量的程序和数据（比如.cpp文件、.exe文件、MP4等视频文件），需要时再调入内存中。为了方便用户在硬盘上存放程序和数据，以及保证多用户下数据的一致性和安全问题，操作系统添加了文件管理的功能，提高了磁盘的利用率。
文件和文件系统文件管理是将其管理的程序和数据看成是一系列的文件来实现的。在文件系统中，可以]]></description><category></category></item><item><title><![CDATA[实例讲解成组链接法]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/73569654</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/73569654</guid><author>Ajay666</author><pubDate>Thu, 22 Jun 2017 11:20:43 +0800</pubDate><description><![CDATA[成组链接法是一种用来记录磁盘空闲盘块的方法，它使得磁盘盘块的分配和回收都变得十分简单，而且没有空闲表法和空闲链表法它们的表太长的缺点，因此被引用到UNIX系统当中。
成组链接法介绍计算机上的文件是记录在磁盘上的，而磁盘空间的分配是以盘块为单位的，那么如何管理磁盘中已经被使用的块和未被使用的块是操作系统必须要考虑的问题。下面将介绍比较实用又有点复杂的成组链接法，看它是如何把磁盘中所有的空闲盘块都记录起]]></description><category></category></item><item><title><![CDATA[单链表实现]]></title><link>https://blog.youkuaiyun.com/Ajay666/article/details/73250478</link><guid>https://blog.youkuaiyun.com/Ajay666/article/details/73250478</guid><author>Ajay666</author><pubDate>Wed, 14 Jun 2017 17:30:22 +0800</pubDate><description><![CDATA[目录
  线性表是数据结构的第一章，而考研和找工作都喜欢考察这方面的内容，因此，我就用C++实现了单链表，以及一些常见的算法题。
本文的具体内容包括：
单链表的基本操作
反向输出单链表
找到两个单链表的第一个公共结点
对单链表进行排序
将两个有序的链表合在一起，使之仍然有序
单链表的基本操作不多说，直接上代码（注意基本操作中参数L的不同）：///初始化一个单链表，申请头结点
void InitLis]]></description><category></category></item></channel></rss>