共查询到19条相似文献,搜索用时 156 毫秒
1.
多维数组是科学计算中非常重要的数据结构,但目前主流数据库使用的关系代数很难支持多维数组.因此提出了一个面向科学计算的多维数组代数模型SciArray以及建立在其上的结构化查询语言AQL.SciArray很好地描述了多维数组运算中的数据局部性,为实现并行的面向科学计算的多维数组数据库奠定了基础. 相似文献
2.
3.
一种快速有效实现三维实体重建的算法 总被引:1,自引:2,他引:1
从图的数组表示法这一基本表示方法,作为基点出发,将点、线、面、面环等信息用数组形式存储,从数组元素出发逐步实现了基于三视图的三维重建。实践表明,该方法充分利用数组形式的有序、对应、直接等特点,大大提高了三维重建的效率,减少了传统方法庞大的搜索空间和降低了时间复杂度。 相似文献
4.
基于邻接矩阵的全文索引模型 总被引:5,自引:0,他引:5
文本信息的急剧增加和越来越多的用户通过在线方式获取文本信息,使得查询效率成为信息检索系统一个突出瓶颈.提出两种新型全文索引模型,用于改善信息检索系统的查询效率.通过使用有向图表示文本串,引出关于文本串的邻接矩阵;采用两种不同的方式实现文本串邻接矩阵,导出了两种基于邻接矩阵的新型全文索引模型,即基于邻接矩阵的倒排文件和基于邻接矩阵的PAT数组.给出了基于新模型的文本查询算法;分析了新模型的存储空间和查询时间的开销,并分别与两种传统索引模型进行了比较.对实际文本库进行了测试以证实新模型的效能.新模型能够以相对于原文较小的空间代价获得较大幅度的查询效率的提高,因此适合于在大规模文本检索系统中应用. 相似文献
5.
现有的基于后缀数组的滑动窗口压缩算法,在每次窗口滑动后都需要重新构建后缀数组,影响了算法的效率。在分析了滑动窗口下后缀数组的特点后,提出一种构建后缀数组的新方法,使得在压缩算法执行过程中只需要部分构建后缀数组,在不损失压缩效率的情况下,使得整个压缩算法的效率得到提高。实验验证了提出算法的有效性。 相似文献
6.
与静态数组动相比,动态数组的特点在于它可以根据程序运行时状态的不同而随时改变容量,因此动态数组在程序设计中的使用十分广泛.介绍一个高性能动态数组的实现方法,实验结果表明,该方法实现的动态数组可以大幅度的提高程序的效率. 相似文献
7.
8.
本文介绍了后缀数组和广义后缀数组的概念,然后提出了一种类似桶排序的广义后缀数组的高效构造算法,并对算法的复杂度进行了分析. 相似文献
9.
C++动态数组的实现与重用 总被引:2,自引:0,他引:2
数组是应用程序中经常要用到的一种数据结构。为解决C++定义后的数组不能改变其大小的情况,根据软件重用的思想,给出了用函数模板、动态数组类和数组类模板生成C++动态数组的方法,并对这些方法在代码重用方面进行了比较。文中主要给出了动态生成二维数组的函数模板、动态数组类和数组类模板的定义,以及部分成员函数和运算符重载函数的实现代码或算法。以动态生成二维整型数组,进行矩阵的加法运算为例,给出了使用方法。应用文中所给的方法,能满足应用程序中动态定义一维和二维数组的需要。 相似文献
10.
数组是应用程序中经常要用到的一种数据结构。为解决C++定义后的数组不能改变其大小的情况,根据软件重用的思想,给出了用函数模板、动态数组类和数组类模板生成C++动态数组的方法,并对这些方法在代码重用方面进行了比较。文中主要给出了动态生成二维数组的函数模板、动态数组类和数组类模板的定义,以及部分成员函数和运算符重载函数的实现代码或算法。以动态生成二维整型数组,进行矩阵的加法运算为例,给出了使用方法。应用文中所给的方法,能满足应用程序中动态定义一维和二维数组的需要。 相似文献
11.
演变图中含有大量的时间和空间信息,其中某些空间信息随着时间的推移表现出相似的演变规律。给出了一种演变图查询模型,可以挖掘出在相同时间范围内具有相同变化规律的演变子图。但是演变图的规模往往是巨大的,当需要对其进行多次查询时,每次遍历整个演变图将带来非常高的查询代价,而现有的基于枚举的哈希索引算法又使得预处理过程拥有相当大的时间和空间开销,为了减少对大规模演变图的预处理代价,将压缩的全文索引技术应用于演变图,它基于涡轮转换和后缀数组。在构建后缀数组时,给出了两种不同的线性算法,确保了预处理过程的稳定性。通过在Facebook、Enron邮件系统以及模拟数据集上的实验,评估了该算法的可行性、效率以及可扩展性。 相似文献
12.
13.
14.
15.
16.
全文检索的应用导致了信息检索领域的一场革命,是文档数据库研发的核心。在一个全文检索系统中,全文索引数据库的建立是系统的基础,其设计结构直接影响到全文检索引擎的检索算法以及系统最终的检索效率。文中主要介绍全文检索系统中索引库结构设计、文本标引技术等数据预处理技术,以及全文检索系统索引数据库的数据处理流程。最后,在此基础上研究了全文检索系统索引库索引生成算法,给出了单个文档和批处理两种情况下的索引库索引生成算法。 相似文献
17.
随着移动计算、物联网、云计算、人工智能等领域的飞速发展,也涌现出了很多新的编程语言和编译器,但是C/C++语言依旧是最受欢迎的编程语言之一,而数组是C语言最重要的数据结构之一.当在程序中通过数组下标访问数组元素时,必须确保该下标在该数组的边界之内,否则就会导致数组越界.程序中的数组越界缺陷会使得程序在运行时导致系统崩溃,甚至使攻击者可以截取控制流以执行任意恶意代码.当前针对数组越界的静态检查方法无法达到高精度的分析,尤其是无法处理复杂约束和表达式,过多的误报额外增加了开发者的负担.因此,提出了一种基于污点分析的数组越界的静态检测方法.首先,提出流敏感、上下文敏感的按需指针分析方法,实现数组长度区间分析.然后,提出按需污点分析方法,实现数组下标和数组长度污染情况的计算.最后,定义数组越界缺陷判定规则,提出使用后向数据流分析方法,检测数组下标是否越界.在进行数组越界检测的过程中,为了处理程序中的复杂约束和表达式,在分析过程中将调用约束求解器来判断约束的可满足性.如果没有发现相应的语句,则报告数组越界缺陷警报.同时,实现了自动静态分析工具Carraybound,并通过实验展示了方法的有效性. 相似文献
18.
Static Checking of Array Index Out-of-Bounds Defects in C Programs Based on Taint Analysis 下载免费PDF全文
Fengjuan Gao Yu Wang Tianjiao Chen Lingyun Situ Linzhang Wang Xuandong Li 《International Journal of Software and Informatics》2021,11(2):121-147
During the rapid development of mobile computing, IoT, cloud computing, artificial intelligence, etc., many new programming languages and compilers are emerging. Nevertheless, C/C++ is still one of the most popular languages, and the array is one of the most important data structures of C language. It is necessary to check whether the index is within the boundary of the array when it is used to access the element of an array in a program. Otherwise, array index out-of-bounds will happen unexpectedly. When array index out-of-bounds defects are in programs, some serious errors may occur during execution, such as system crash. It is even worse that array index out-of-bounds defects open the doors for attackers to take control of the server and execute arbitrary malicious codes by carefully constructing input and intercepting the control flow of the programs. Existing static methods for array boundary checking cannot achieve high accuracy and deal with complex constraints and expressions, leading to massive false positives. In addition, it will increase the burden of developers. In this study, a static checking method is proposed based on taint analysis. First, a flow-sensitive, context-sensitive, and on-demand pointer analysis is proposed to analyze the range of array length. Then, an on-demand taint analysis is performed for all array indices and array length expressions. Finally, the rules are defined for checking array index out-of-bounds defects and the checking is realized based on backward data flow analysis. During the analysis, in light of complex constraints and expressions, it is proposed to check the satisfiability of the conditions by invoking the constraint solver. If none statement for avoiding array index out-of-bounds is found in the program, an array index out-of-bound warning will be reported. An automatic static analysis tool, Carraybound, has been implemented, and the experimental results show that Carraybound can work effectively and efficiently. 相似文献
19.
针对当前DOA估计中基站布设复杂和阵元间距受限的问题,提出了一种极化敏感圆形阵列单基站定位方法。通过对圆形天线阵列布设进行分析,根据信道传播模型得到阵列接收信号,进而利用深度学习模型实现定位。在考虑电磁波极化特性的基础上,经过对圆形天线的数目以及基站的规模大小进行分析研究,最后给出一种比较理想的基站布设方式。仿真结果表明,上述圆形阵列定位模型实现了较为精确定位,对阵元间距降低了要求,增强了可行性和实用性。 相似文献