Exemplo n.º 1
0
    def test_mismatched_type(self):

        sortedlist = [1, 2, 3, 4, 5, 6, 7, '8', 9]
        target = 9

        with self.assertRaises(TypeError):
            binarysearch.binarysearch(sortedlist, target)
Exemplo n.º 2
0
    def test_none_input(self):

        sortedlist = None
        target = 0

        with self.assertRaises(TypeError):
            binarysearch.binarysearch(sortedlist, target)
Exemplo n.º 3
0
    def test_not_list(self):

        sortedlist = 1
        target = 1

        with self.assertRaises(TypeError):
            binarysearch.binarysearch(sortedlist, target)
Exemplo n.º 4
0
    def test_none_target(self):

        sortedlist = ['a', 'b', 'c']
        target = None

        with self.assertRaises(TypeError):
            binarysearch.binarysearch(sortedlist, target)
Exemplo n.º 5
0
	def generateSentence(self,keyword):
		sentence=[]
		if keyword not in self.freq1:
			sentence.append(u"辞書に単語が見当たらないです")
			sentence.append("Error1")
			return sentence
		sentence.append(keyword)
		keyslist = self.freq1[keyword].keys()
		y=keyslist[random.randint(0,len(keyslist)-1)]
		sentence.append(y)
		j=0
		#while (sentence[j]!=(u"。" or u"?"or u"?")) or (j<=10):
		#while len(sentence)<10:
		while (sentence[-1]!=u"EOS") and j<=140:
			if sentence[j] not in self.freq1:
				sentence.append(u"辞書に単語が見当たらないです")
				sentence.append("Error2")
				return sentence
			else:
				keyslist1=self.freq1[sentence[-2]][sentence[-1]].keys()
				valueslist=self.freq1[sentence[-2]][sentence[-1]].values()
				j=j+1
				x=keyslist1[binarysearch.binarysearch(valueslist)]
				if self.freq1[sentence[-2]][sentence[-1]][x]<0:
					self.freq1[sentence[-2]][sentence[-1]][x]-=1
				else:
					del self.freq1[sentence[-2]][sentence[-1]][x]
				sentence.append(x)
		"""EOSを削る"""
		sentence.pop()
		return sentence
Exemplo n.º 6
0
    def test_empty_list(self):

        sortedlist = []
        target = 0

        testResult = binarysearch.binarysearch(sortedlist, target)
        correctAnswer = -1

        self.assertEqual(testResult, correctAnswer)
Exemplo n.º 7
0
    def test_char_miss(self):

        sortedlist = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
        target = 'a'

        testResult = binarysearch.binarysearch(sortedlist, target)
        correctAnswer = -1

        self.assertEqual(testResult, correctAnswer)
Exemplo n.º 8
0
    def test_int_hit(self):

        sortedlist = [1, 2, 3, 4, 5, 6, 7, 8, 9]
        target = 1

        testResult = binarysearch.binarysearch(sortedlist, target)
        correctAnswer = 0

        self.assertEqual(testResult, correctAnswer)
Exemplo n.º 9
0
def containssum(n, a):
	mergesort(a)
	for i in range(len(a)):
		print("Executed {0} times").format(i)
		v = n - a[i]
		found = binarysearch(a, v)
		if found != None and found != i:
			return True
	return False
Exemplo n.º 10
0
    def searchData(self, cardNumber):
        sortedCards = bubblesort.sortCards(dataLoader, False)
        arrayPosCard = binarysearch.binarysearch(sortedCards, cardNumber)

        # When the search function passes back a result, the below code will run and define the card object with values
        # 404 is a default value, if it returns this number it means it haven't found anything
        if arrayPosCard != 404:
            self.__cardnumber = sortedCards[arrayPosCard][0]
            self.__price = sortedCards[arrayPosCard][1]
            self.__name = sortedCards[arrayPosCard][2]
            self.__origin = sortedCards[arrayPosCard][3]
            self.__health = sortedCards[arrayPosCard][5]
            self.__damage = sortedCards[arrayPosCard][4]
Exemplo n.º 11
0
def find2num(array, sum):
	global global_init
	if not global_init:
		quicksort(array)
		global_init = True
		print "Init Finish"
		print "sort:", array
	length = len(array)
	pos = -1
	for i in range(0, length - 1):
		pos = binarysearch(array, sum - array[i], i + 1, length - 1)
		if pos >= 0:
			print array[i], ",", array[pos]
			return True
	return False
Exemplo n.º 12
0
 def test_odd_element_array(self):
     arr = [0, 1, 2]
     self.assertEqual(binarysearch(arr, 0, len(arr) - 1, 1), 1)
Exemplo n.º 13
0
 def test_single_element_array(self):
     arr = [1]
     self.assertEqual(binarysearch(arr, 0, len(arr) - 1, 1), 0)
Exemplo n.º 14
0
 def test_search_not_existing_item(self):
     self.assertEqual(binarysearch(self.arr, 0,
                                   len(self.arr) - 1, 20), None)
Exemplo n.º 15
0
 def test_search_lower_end_item(self):
     self.assertEqual(binarysearch(self.arr, 0, len(self.arr) - 1, 0), 0)
Exemplo n.º 16
0
 def test_search_upper_end_item(self):
     self.assertEqual(binarysearch(self.arr, 0, len(self.arr) - 1, 9), 9)
Exemplo n.º 17
0
 def test_bs_single(self):
     self.assertEqual(0, binarysearch.binarysearch(self.F, 4))
Exemplo n.º 18
0
 def test_bs_empty(self):
     self.assertFalse(binarysearch.binarysearch(self.B, 12))
Exemplo n.º 19
0
 def test_bs_false(self):
     self.assertFalse(binarysearch.binarysearch(self.E, -15))
Exemplo n.º 20
0
f.close()
"""
freq1 = {}
for i in xrange(len(itemlist2)-1):
    x=itemlist2[i]
    y=itemlist2[i+1]
    if x in freq1:
        if y in freq1[x]:
            freq1[x][y]+=1
        else:
            freq1[x][y]=1
    else:
        freq1[x]={y:1}        
for x in freq1:
    print "%s : %s" %(x,freq1[x])
    for y in freq1[x]:
        print"%s:%d"%(y,freq1[x][y])
sentence=[]
keyslist=freq1[u"プレリリース"].keys()
valueslist=freq1[u"プレリリース"].values()
result=binarysearch.binarysearch(valueslist)
print result,len(keyslist)
sentence.append(keyslist[result])
i=0
while sentence[i]!=u"。":
    keyslist=freq1[sentence[i]].keys()
    valueslist=freq1[sentence[i]].values()
    i=i+1
    sentence.append(keyslist[binarysearch.binarysearch(valueslist)])
print u" ".join(sentence)
Exemplo n.º 21
0
 def test_search_middle_item(self):
     self.assertEqual(binarysearch(self.arr, 0, len(self.arr) - 1, 5), 5)
"""
Author: Armao Thao

Description:
    Merge Sort: a simple binary search example.
    Complexity Analysis: O(logn) on average
"""
from binarysearch import binarysearch
from test_utilities import compare_var, summarize_results

if __name__ == "__main__":
    runtime = []
    results = []
    print "####################################################"
    data = [1, 2, 5, 5, 23, 100, 300, 555]
    exp_result = binarysearch(data, 5, 0, len(data) - 1)
    output = compare_var(exp_result, True, "==")
    results.append(output)
    print "####################################################"
    data = [1, 2, 5, 5, 23, 100, 300, 555]
    exp_result = binarysearch(data, 10, 0, len(data) - 1)
    output = compare_var(exp_result, False, "==")
    results.append(output)
    print "####################################################"
    data = [1, 2, 5, 5, 23, 100, 300, 555]
    exp_result = binarysearch(data, 555, 0, len(data) - 1)
    output = compare_var(exp_result, True, "==")
    results.append(output)
    print "####################################################"
    data = [1, 2, 5, 5, 23, 100, 300, 555]
    exp_result = binarysearch(data, 556, 0, len(data) - 1)
import binarysearch

def new_find_successor(tree):
	current = tree.root.find_min()
	while current != None:
		print '%d : %s' %(current.key,current.payload)
		current = current.find_successor()


new_tree = binarysearch.binarysearch()
new_tree[3] = "red"
new_tree[4] = "blue"
new_tree[6] = "yellow"
new_tree[2] = "at"

new_find_successor(new_tree)
Exemplo n.º 24
0
 def test_bs_index(self):
     self.assertEqual(6, binarysearch.binarysearch(self.E, 12))