= BoyerMooreHorspool (pattern, text)Print 'text: ', TextPrint 'pattern', PatternIf s>-1:Print 'pattern' + Pattern + '\ "found at position', s
These two algorithms are mainly used for string matching. Online comments said that the BM performance is better than KMP, and I have not verified it. You can test it with cProfile another day.
Ps: Today we use these two algorithms to find the last line of string
Python algorithms and data structures--the maximum value of all sub-arraysXuan Soul Studio-Xuan SoulXuan Soul Studio Secretary Xuan Soul studio? YesterdayTitle: Enter an array of shapes with positive and negative numbers in the array. One or more consecutive integers in an array make up a sub-array, each of which has a and.The maximum value for the and of all sub-arrays. Requires a time complexity of O (n).
-operation Traversal, we first recursively use the post-traversal to access the Saozi right subtree, the last access to the root node root node, right subtree, left dial hand tree
def postorder (self, Root): "" " recursive implementation of subsequent traversal" " if root = = None: return self.postorder (root.lchild) Self.postorder (root.rchild) print (Root.elem)Breadth-first traversal (hierarchical traversal)From the root of the tree, from top to bottom, from l
Python implements eight sorting algorithms with the following details:
1. Insert SortDescribe
The basic operation of inserting a sort is to insert a data into the ordered data that is already sorted, so as to get a new sequential data with a number plus one, the algorithm is suitable for the ordering of a small amount of data, and the time complexity is O (n^2). is a stable sorting method. The insertion al
observers, that is, dependent objects, each time data changes, these 2 view will changeclassHexviewer (object):defUpdate (self, subject):Print 'hexviewer:subject%s has data 0x%x'%(Subject.name, Subject.data)classDecimalviewer (object):defUpdate (self, subject):Print 'decimalviewer:subject%s has data%d'%(Subject.name, Subject.data)if __name__=='__main__': Data1= Data ('Data 1') Data2= Data ('Data 2') View1=decimalviewer () view2=hexviewer () Data1.attach (view1) Data1.attach (view2) Data2.attach
direction is unchanged#Coding=utf-8classNode (object):#first gets to the node, the node has two functions, 1. A pointer (assuming) a point, #2,. is now the value of the element in this position . def __init__(self,val): Self.next=none#the next pointer, which is used to point to the content, set the initialization to null firstSelf.val=val#Val is its original value,classQueue (object):def __init__(self):#initializes two properties, representing first and last respectivelyse
first 1frequency = [0 forIinchRange (0, 10, 1)] I= 1#do factorial operations, from 1! , 2! , 3! , until 100! The Operation forNinchRange (1, 100, 1): I= n *i m=First_number (i) frequency[m]= Frequency[m] + 1PrintFrequencyResults:/users/liudaoqiang/pycharmprojects/numpy/venv/bin/python/users/liudaoqiang/project/python_project/bat_day17/ 7, 7, 7, 3, ten, 4]process finished with exit code 03. Ben Ford's Law:In life, the probability of the first dig
This section learns to use Sklearn for voting classification, see a specific example, the dataset uses the Iris DataSet, using only the sepal width and petal length two dimension features, Category we also only use two categories: Iris-versicolor and Iris-virginica, the standard uses ROC AUC.Python Machine learning Chinese catalog (http://www.aibbt.com/a/20787.html)Reprint please specify the source, Python machine learning (http://www.aibbt.com/a/pyth
# stack# In fact, the list in Python can be used as a stack, with Collections.deque can also# 1. Into the stack list.append (item)# 2. Out Stack item = List.pop ()# 3. For the first element out of the stack, you can also item = List.pop (0) and the queue concept# 4. In fact, you can also take any element out of the Stack item = List.pop (i) is equivalent to deleting element i# Note that 3,4 is time-consuming.Stacks can be conveniently used to determin
Eight, the base sort
Basic idea: the Cardinal sort (radix sort) is "assigned sort" (distribution sort), also known as "bucket method" (bucket sort) or bin sort, as the name implies, it is part of the information through the key value, The elements to be sorted are assigned to some "buckets", in order to achieve the order, the cardinal sort method is a sort of stability, its time complexity is O (Nlog (r) m), where R is the cardinality taken, and M is the number of heaps, at some point, the c
How to implement eight sorting algorithms with Python
1. Insert SortDescribeThe basic operation of inserting a sort is to insert a data into the ordered data that is already sorted, so as to get a new sequential data with a number plus one, the algorithm is suitable for the ordering of a small amount of data, and the time complexity is O (n^2). is a stable sorting method. The insertion algorithm divides t
,row) - forIndexinchRange (I,len (row)):#Gets the subscript for each row of elements, and each time the loop shrinks the extent of the adjustment -Temp=array[i][index]#Get -array[i][index]=Array[index][i] inarray[index][i]=Temp - forRinchArrayPrint(R) to Print("------One loop---------")3, bubble sort, the tuples in a group of lists are arranged from small to large, and each inner loop moves only one element1 #bubble sort, which arranges tuples in a set of lists in order from small
1 Sequence decompression: through * to pass the match*a, B = somelist, First, *mid, last = Somelist, a, *b = Somelist2 using bidirectional queues: From collections import dequeQ = deque (maxlen=5) can be fixed lengthQ = deque () can also be any lengthcan be inserted and removed from both ends, append, Appendleft, pop, popleft3 finding the largest or smallest n elements: using heapq (heap queue)HEAPQ. nlargest (N, Alist) heapq. nsmallest (n, alist) is suitable when n is relatively smallYou can al
, and then in the remaining number, find the minimum (or maximum) number of the 2nd position to exchange, and so on, until the first N-1 element (the penultimate number) and the nth element (the last number) are compared.Algorithm implementation:def selectionsort (seq): Length=len (seq) for I in range (length): Mini=min (seq[i:]) if Seq[i]>mini: J=seq.index (mini,i) seq[i],seq[j]=seq[j],seq[i]if __name__== ' __main__ ': seq=[3,4,5,9,3,1,5,7,90,-2 ,] selectionsort (seq) print (SEQ)Efficiency:In t
does not support the comparison size.-priority the priority counter, ensuring that the smallest element function in the queue (the most important) is always placed in _queue[0]. heapq.heappush()and the first element is heapq.heappop() inserted and deleted separately on the queue, the _queue first element of the _queue is always the smallest, ensuring that the queue _queue the first element with the highest priority.Reference: "Python Cookbook" 3rd Ed
First of all, to collect ...This article is for the author after learning Zhou Zhihua Teacher's machine study material, writes after the class exercises the programming question. Previously placed in the answer post, now re-organized, will need to implement the code to take out the part of the individual, slowly accumulate. Want to write a machine learning algorithm implementation of the series.This article mainly includes:1, Logistics return2.Python
1 using while loop input 1 2 3 4 5 6 8 91 # CODING=GBK 2 count=13 while count:4 if count==7 : 5 Pass 6 Else : 7 Print (count) 8 Count=count+12 for all numbers of 1-100 and1 # CODING=GBK 2 count=13 sum=04 for in range (1,100):5 sum=sum+Count6print(sum)3 All odd numbers in the output 1-1001 i=12 for in range (1,101):3 if i%2!=0: 4 Print (i) 5 I=i+16 else:7 Pass4 All even numbers in the output 1-1001 # CODING=GBK 2 i=13 for in rang
Bucket sortBarrel sequencing has been used since the 1956, and the basic idea of the algorithm is proposed by E.J.ISSAC and R.c.singleton.This algorithm is like having 11 barrels, numbered from 0~10. Each occurrence of a number, in the corresponding number of buckets put aA little flag, and then just count the few small flags in each bucket OK. For example, there are 1 small flags in bucket 2nd, indicating2 appeared once, and in the 3rd barrels there were 1 small flags, indicating that 3 appeare
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.