
C++ 数据结构
文章平均质量分 88
S-Lyf
纽约时间比加州时间早三个小时,但加州时间并没有变慢
展开
-
【算法和数据结构】平衡查找树之B树
B树 B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作。B-tree算法减少定位记录时所经历的中间过程,从而加快存取速度。普遍运用在数据库和文件系统。原创 2016-07-22 16:11:04 · 2995 阅读 · 0 评论 -
【数据结构】红黑树(如何实现及怎样判断)
红黑树是一颗二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色,可以是red或black。通过对任何一条从根节点到叶子节点的简单路径上的颜色来约束,红黑树保证了最长路径不超过最短路经的两倍,因此近似于平衡。红黑树的规则:1、每个节点不是红色就是黑色的。2、根结点是黑色的。3、如果一个节点是红色的,则它的两个子结点是黑色的。即每条路径上不能存在两个连续的红节点。4、对每个原创 2016-06-16 16:02:45 · 5290 阅读 · 0 评论 -
【C++】MFC 创建对话框,实现对课程信息和学生信息的管理
使用vc6.0,MFC,创建对话框创建一个默认的对话框应用程序,并设计“课程信息”对话框和“学生信息管理”对话框。实现如下图所示功能:默认的对话框应用程序: 点击“学生基本信息”按钮会出现下图所示,点击“添加”按钮就添加成功,显示如下图所示列表框。点击“课程信息”按钮会出现下图所示,点击“添加”按钮就添加成功,显示如下图所示列表框。 具备知识:原创 2016-07-02 19:54:36 · 10328 阅读 · 2 评论 -
【C++】MFC 创建对话框,实现对“学生课程成绩”的管理
运行环境:VC6.0具备知识:对MFC的控件有一定的了解,包括图像列表、列表控件等。实现功能:单击下图中的“学生课程成绩”按钮,弹出“学生课程成绩”对话框,单击“添加”按钮,学生课程成绩添加到列表控件。若选中列表项,“修改”按钮由原来的禁用变成可用,单击“修改”按钮,则弹出的“学生课程成绩”对话框中的“添加”按钮标题变成“修改”,单击“学生课程成绩”对话框中的“修改”按钮,该列表项的内容被原创 2016-07-03 21:34:06 · 8368 阅读 · 3 评论 -
文件压缩
简述:利用哈夫曼编码进行文件的压缩和解压缩。开发环境:windows,VS2013,C++项目特点: 压缩文件:读取文件中的字符,将其转化为哈弗曼编码,再通过位转化为压缩文件。 解压缩文件:从配置文件中读取字符及对应字符的出现次数建立哈夫曼树,得到解压缩文件中的字符。原创 2016-08-01 10:13:45 · 1040 阅读 · 0 评论 -
并查集-UnionSet【朋友圈问题】
【面试题】例如已知有n个人和m对好友关系(存在数字r),如果两个人是直接或间接的好友(好友的好友的好友的好友......),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。例如:n=5,m=3,r={{1,2},{2,3},{4,5}},表示有5个人,1和2是好友,2和3是好友,4和5是好友,则1、2、3属于一个朋友圈,4、5属于另一个朋友圈。结果为2个朋友圈。最后请原创 2016-07-22 09:20:16 · 1097 阅读 · 0 评论 -
判断元素出栈,入栈顺序的合法性
问题:元素出栈,入栈顺序的合法性。如入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,1,2) 定义一个栈sp,入栈序列为str1,出栈序列为str2,长度分别为size1和size2。如果两个序列为空或长度不等,则不合法,针对长度相等且不为空的两个序列进行判断。先将str1中第一个元素入栈,然后通过循环使str1后移。1、如果当前栈为空且入栈序列不为空,则入原创 2016-09-16 22:47:42 · 1391 阅读 · 0 评论