
数据结构和算法
文章平均质量分 81
是刘彦宏吖
想能敢干-能力和胆子 装(学习)
展开
-
Sql Server中的表组织和索引组织(聚集索引结构,非聚集索引结构,堆结构)
正文SqlServer用三种方法来组织其分区中的数据或索引页:1、聚集索引结构聚集索引是按B树结构进行组织的,B树中的每一页称为一个索引节点。每个索引行包含一个键值和一个指针。指针指向B树上的某一中间级页(比如根节点指向中间级节点中的索引页)或叶级索引中的某个数据行(比如中间级索引页中的某个索引行指向叶子节点中的数据页)。每级索引中的页均被链接在双向链接列表中。数据链内的页和行将按聚集索引键值进行排序,聚集索引保证了表格的数据按照索引行的顺序排列;补充(PS:2012-7-9)从上图可以看出,聚集原创 2023-10-27 23:10:04 · 951 阅读 · 0 评论 -
到现在还搞不懂,索引为什么能提供查询性能?
到现在还搞不懂,索引为什么能提供查询性能?前言昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法?这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了。她又不紧不慢的问,索引为什么就能提高查询性能。这还用问,索引就像一本书的目录,用目录查当然很快。她失望地摇了摇头,你说的只是一个类比,可为什么通过目录就能提高查询速度呢。唉,对啊,通过书目可以快速查询,这只是一个现象,真正原因到底是什么呢。那女孩看着诧异且表情僵硬的我,满意而又意味深长的笑笑:原来你这个男程序员也不会,看来我原创 2023-10-27 22:56:09 · 75 阅读 · 0 评论 -
每个程序员都必须知道的8种数据结构
每个程序员都必须知道的8种数据结构数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。几乎所有已开发的程序或软件系统都使用数据结构。此外,数据结构属于计算机科学和软件工程的基础。当涉及软件工程面试问题时,这是一个关键主题。因此,作为开发人员,我们必须对数据结构有充分的了解。在本文中,我将简要解释每个程序员必须知道的8种常用数据结构。1.数组数组是固定大小的结构,可以容纳相同数据类型的项目。它可以是整数数组,原创 2023-10-27 22:53:19 · 84 阅读 · 0 评论 -
C++综合练习-手工实现小型数据库
模拟小型数据库系统(DBMS)这里写目录标题模拟小型数据库系统(DBMS)引言1. 编写目的背景术语参考资料引言1. 编写目的背景术语参考资料引言编写目的为了深入学习和了解数据库以及小学期课程需要,我们小组决定自己编写一个简单的mini-database。背景 任何一个可以用计1970年,IBM的研究员,有“关系数据库之父”之称的埃德加•弗兰克•科德 (Edgar Frank Codd或E. F. Codd)博士在刊物《Communication of t原创 2021-08-04 15:05:53 · 1734 阅读 · 0 评论 -
算法策略的总结
策略是面向问题的,算法是面向实现的。一、不同算法策略特点小结1、贪心策略贪心策略一方面是求解过程比较简单的算法,另一方面它又是对能适用问题的条件要求最严格(即适用范围很小)的算法。贪心策略解决问题是按一定顺序,在只考虑当前局部信息的情况下,就做出一定的决策,最终得出问题的解。即:通过局部最优决策能得到全局最优决策2、递推策略递推也是由当前问题的逐步解决从而得到整个问题的解,依赖于信息间本身的递推关系,每一步不需要决策参与到算法中,更多用于计算3、递归策略递归常常用于分治算法、动态规划算原创 2021-08-03 15:25:28 · 19 阅读 · 0 评论 -
10大经典排序算法动画解析
10大经典排序算法动画解析排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序。内部排序是数据记录在内存中进行排序。而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相原创 2021-08-03 14:21:22 · 12 阅读 · 0 评论 -
Linear Stucture
Linear Stucture interface IListDS<T> { /// <summary> /// 取得线性表的实际元素个数 /// </summary> /// <returns></returns> int Count(); /// <summary> /// 清空线性表 //原创 2021-07-29 18:23:02 · 97 阅读 · 0 评论 -
B树,B+树,B*树
B树,B+树,B*树动态查找树主要有:二叉查找树,平衡二叉树,红黑树,B-tree/B±tree/B*-tree。前三个都是典型的二叉树结构,查找的时间复杂度O(log2N)和树的深度相关,随着树的深度降低会提高查找效率。而在现实情况中大部分数据存储在磁盘中,对于数据量比较大的情况下,对导致二叉树结构的深度也随之变大造成磁盘IO读写频繁导致查询效率低下,因此大部分关系型数据库都使用本篇要介绍的B+Tree结构,要理解B+树,需要先理解B树,本篇也会一起介绍B*树。————————————————简介原创 2021-07-28 18:10:32 · 495 阅读 · 0 评论 -
二叉查找树(Binary Search Tree)
二叉查找树(Binary Search Tree)二叉查找树又叫二叉排序树(Binary Sort Tree),或叫二叉搜索树,简称BST。BST是一种节点值之间有次序的二叉树。其特性是:若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若任意节点的右子树不空,则右子树上所有节点的值均大于或等于它的根节点的值;任意节点的左、右子树也分别为二叉查找树;是否二叉查找树二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低,为O(logN)。用大O符号表示的时间复杂度:原创 2021-07-28 16:22:34 · 491 阅读 · 0 评论 -
二叉树(Binary Tree)
二叉树(Binary Tree)二叉树是一棵特殊的树,其结构简单但很重要。二叉树的特点是每个节点最多有两棵子树,并且有左右之分。满二叉树如果一棵二叉树的所有叶子节点都在最后一层,称为满二叉树。满二叉树的结点总数 =2^n-1 (n为层数)。如下图二叉是的层数为3,其结点总数为2^3-1=7 满二叉树完全二叉树一棵深度为k的有n个结点的二叉树,对树中的节点按从上至下、从左到右的顺序进行编号,如果原创 2021-07-28 16:05:52 · 1222 阅读 · 0 评论 -
树的概念和算法
树原创 2021-07-28 14:38:07 · 191 阅读 · 0 评论