随笔分类 -  数据结构与算法

摘要:参考 https://www.cnblogs.com/jclian91/p/9151120.html 1.暴力算法 O(n^2) def maximum_subarray_1(nums): siz=len(nums) res=0 for i in range(siz): sum=0 for j in 阅读全文
posted @ 2019-07-07 15:11 NeoZy 阅读(148) 评论(0) 推荐(0)
摘要:放假没事干,复习复习,有空再用python写一遍 #include<iostream> #include<math.h> #include<Windows.h> #include<vector> #include<time.h> using namespace std; //冒泡排序 void Bu 阅读全文
posted @ 2019-07-05 00:51 NeoZy 阅读(125) 评论(0) 推荐(0)
摘要:参考: https://www.cnblogs.com/linxiyue/p/3659448.html?utm_source=tuicool&utm_medium=referral class Node: def __init__(self,key): self.key=key self.left= 阅读全文
posted @ 2019-05-07 17:03 NeoZy 阅读(222) 评论(0) 推荐(0)
摘要:更新2019年11月4日 04:26:35 睡不着觉起来寻思寻思干点啥吧,好像好久没写堆排了。于是写了个索引从0开始的堆排,这次把建堆函数略了并在heapsort主函数里,索引从0开始到size-1结束,长度size。 这个堆排和索引从1开始的堆排区别就是对于节点i,两个子节点分别为2i+1和2i+ 阅读全文
posted @ 2019-04-16 21:47 NeoZy 阅读(324) 评论(0) 推荐(0)
摘要:def mergesort(nums,le,ri): if le>ri-2: return 0 mi=le+(ri-le)//2 a=mergesort(nums,le,mi) b=mergesort(nums,mi,ri) c=merge(nums,le,mi,ri) return a+b+c d 阅读全文
posted @ 2019-04-10 23:35 NeoZy 阅读(249) 评论(0) 推荐(0)
摘要:算法导论:22页2.3-7 描述一个运行时间为O(nlogn)的算法,找出n个元素的S数组中是否存在两个元素相加等于给定x值 AC解: a=[1,3,6,7,9,15,29] def find2sumx(nums,x): nums.sort() le,ri=0,len(nums)-1 while l 阅读全文
posted @ 2019-04-10 21:57 NeoZy 阅读(191) 评论(0) 推荐(0)
摘要:KMP是上学期学数据结构时候学的,当时就没学太明白,后来又自己琢磨了几次,但始终是一知半解。今天起床了又想起来KMP,以下是思考得到的一点东西。 首先学过kmp的都知道要写两个函数,一个计算next数组,一个kmp主体函数,那么next数组里存的到底是啥呢。首先答案是:next[i]存的是字符串[0 阅读全文
posted @ 2019-03-28 19:57 NeoZy 阅读(353) 评论(0) 推荐(0)