zoukankan      html  css  js  c++  java
  • 《挑战2》散列法

    Search III

    Your task is to write a program of a simple dictionary which implements the following instructions:

    • insert str: insert a string str in to the dictionary
    • find str: if the distionary contains str, then print 'yes', otherwise print 'no'

    Input

    In the first line n, the number of instructions is given. In the following n lines, n instructions are given in the above mentioned format.

    Output

    Print yes or no for each find instruction in a line.

    Constraints

    • A string consists of 'A', 'C', 'G', or 'T'
    • 1 ≤ length of a string ≤ 12
    • n ≤ 1000000

    Sample Input 1

    5
    insert A
    insert T
    insert C
    find G
    find A
    

    Sample Output 1

    no
    yes
    

    Sample Input 2

    13
    insert AAA
    insert AAC
    insert AGA
    insert AGG
    insert TTT
    find AAA
    find CCC
    find CCC
    insert CCC
    find CCC
    insert T
    find TTT
    find T
    

    Sample Output 2

    yes
    no
    no
    yes
    yes
    yes

    本题采用的是双散列结构,其他的散列方式还没有尝试,以后有时间可以套进去试一下。
    本题主要分为两部分:
    1.将字符串转换通过合适的方法转换为一个整数值,这个合适的意思是尽量将元素分散,均匀分布
    2.将这个整数值通过双散列法转换为一个散列值



  • 相关阅读:
    Binary Tree Inorder Traversal
    Populating Next Right Pointers in Each Node
    Minimum Depth of Binary Tree
    Majority Element
    Excel Sheet Column Number
    Reverse Bits
    Happy Number
    House Robber
    Remove Linked List Elements
    Contains Duplicate
  • 原文地址:https://www.cnblogs.com/yzz0110/p/8040442.html
Copyright © 2011-2022 走看看