当前位置: 首页 > news >正文

网站开发硬件环境怎么填瑞金市网站建设

网站开发硬件环境怎么填,瑞金市网站建设,做家装网站源码,好用网站推荐免费0.时间复杂度和空间复杂度 快速判断算法时间复杂度#xff1a;算法运行时间 1.确定问题规模n 2.循环减半 logn 3.k层关于n的循环 n^k 空间复杂度#xff1a;评估算法内存占用大小 使用几个变量 O#xff08;1#xff09; 使用长度为n的一维列表 O#xff08;n#xff09…0.时间复杂度和空间复杂度 快速判断算法时间复杂度算法运行时间 1.确定问题规模n 2.循环减半 logn 3.k层关于n的循环 n^k 空间复杂度评估算法内存占用大小 使用几个变量 O1 使用长度为n的一维列表 On 使用m行n列的二维列表 Omn 1.递归 递归三步曲 1.递归参数和返回值 2.终止条件 3.递归 2.二分查找 内置函数 .index() #输入待查找元素 输出元素下标没找到返回None或-1 二分查找的代码 nums 是有序数组 def binary_search(nums, val):left 0right len(nums)-1while left right: #值在闭区间【leftright】找mid (leftright)//2if nums[mid] val: #待查找的值在mid右left mid 1elif nums[mid] val: #待查找的值在mid左right mid -1else:return midreturn -1 #在nums里面找不到val3.排序介绍 列表排序 内置函数 sort() 常见的排序算法 差生三人组O(n^2)好生三人组Onlogn 【运行时间快排归并堆排序】其他排序冒泡排序快速排序:极端情况排序效率低希尔排序选择排序堆排序在快的排序算法中相对较慢计数排序插入排序归并排序需要额外的内存开销基数排序 稳定性排序后 2 个相等键值的顺序和排序之前它们的顺序相同 3.1 冒泡排序 基本思想 1.列表每两个相邻的数如果前面比后面大则交换位置 2.一趟排序完成则无序区减少一个数 有序区增加一个数 【每一趟都把当前无序区最大的数放到有序区】 def bubble_sort(nums):for i in range(len(nums)-1): # 第 i趟exchange Falsefor j in range(len(nums)-i-1):if nums[j] nums[j1]:nums[j], nums[j1] nums[j1], nums[j] #如果前 后则交换exchange Trueif not exchange: #一趟下来没有发生交换代表剩下的无序区已经是有序的return 3.2 选择排序 基本思路 一趟排序记录最小的数放到第一个位置 再一趟排序记录无序区最小数放到第二个位置 … def select_sort(nums):for i in range(len(nums)-1):min_index ifor j in range(i1, len(nums)):if nums[j] nums[min_index]:min_index jif min_index ! i:nums[i],nums[min_index] nums[min_index], nums[i]3.3 插入排序 基本思路从无序区来一个数就插到有序区数组中排好 def insert_sort(nums):for i in range(1, len(nums)):temp nums[i] #要排的元素j i-1 #有序区的最后一位while j 0 and nums[j]temp:nums[j1] nums[j]j j-1nums[j1] temp 3.4 快速排序 基本思路 def quick_sort(nums, left, right):if left right: #保证至少两个元素mid partition(data, left, right) #返回哨兵的位置在排好的数组里面哨兵的正确位置quick_sort(data, left, mid-1)quick_sort(data, mid1, right)def partition(nums, left, right): #复杂度O(ntemp nums[left]while left right:while left right and nums[right] temp: #从右边找比temp小的值right - 1nums[left] nums[right] #把右边的值写在左边的空位上while left right and nums[left] temp:left 1 nums[right] nums[left] #把左边的值写到右边空位上nums[left] temp #把temp归位return left 3.6 归并排序 基本思路 def mergeSort(arr):if(len(arr)2):return arrmiddle int(len(arr)/2)left, right arr[0:middle], arr[middle:]return merge(mergeSort(left), mergeSort(right))def merge(left,right):result []while left and right:if left[0] right[0]:result.append(left.pop(0))else:result.append(right.pop(0))while left:result.append(left.pop(0))while right:result.append(right.pop(0))return result 3.5堆排序 大根堆一颗完全二叉树满足任一节点都比其孩子节点大 小根堆: ……小 堆排序内置模块 import heapqheap.heapify(nums) #建堆 heap.heappush(heap, item) heap.heappop(heap) topK问题n个数找前k大的数 思路 1.快排 Onlogn 2.冒泡排序 Onk 3.堆排序维护一个k大的小根堆不断吐出小数 O(nlogk 力扣215.数组中第K个最大的元素 给定整数数组 nums 和整数 k请返回数组中第 k 个最大的元素。 class Solution:def findKthLargest(self, nums: List[int], k: int) - int:pivot nums[0]small,equal,big [],[],[]for i in nums:if i pivot:big.append(i)elif i pivot:small.append(i)else:equal.append(i)if len(big) k:return self.findKthLargest(big, k)elif len(big) k and len(big) len(equal)k:return pivotelse:return self.findKthLargest(small,k-len(big)-len(equal))力扣347.前K个高频元素 给你一个整数数组 nums 和一个整数 k 请你返回其中出现频率前 k 高的元素。 import heapq class Solution:def topKFrequent(self, nums: List[int], k: int) - List[int]:rec {}for i in nums:rec[i] rec.get(i,0) 1stack []for key, value in rec.items():heapq.heappush(stack, (value, key))if len(stack) k:heapq.heappop(stack)ans [0] * k for i in range(k-1, -1, -1):ans[i] heapq.heappop(stack)[-1]return ans3.7希尔排序 3.8 计数排序 def count_sort(nums, max_count 100):count [0 for _ in range(max_count1)]for val in nums:count[val]1nums.clear()for index, val in enumerate(count):for i in range(val):nums.append(index) 3.8桶排序 桶排序表现取决于数据分布 3.9基数排序
http://www.hkea.cn/news/14326163/

相关文章:

  • 国外英文网站长春建站怎么做
  • 一流的赣州网站建设前端开发培训机构知乎
  • 网站搜索优化官网粉末涂料做网站有用吗
  • 山东卓创 网站建设网站建设管理汇报
  • 检察门户网站建设方案川制作官方网站
  • 建设网站报价域名注册平台有哪些
  • 制作一个个人网站做软件常用的网站有哪些软件有哪些
  • 重庆会计之家是谁做的网站如何成功进行网络营销
  • 网站官网设计规范wordpress好用主题
  • 仓库改造类网站怎么做seo服务方案
  • 开平网站建设公司ui设计师培训费用
  • 做微信文章的网站淄博网站推广公司那些
  • 曲靖房地产网站开发网页设计淘宝首页html代码
  • dw软件做的东西怎么在网站用字体安装wordpress
  • 服务器如何做网站wordpress外贸建站 视频教程
  • 做网站公司西安网易发布广州
  • 网站建设如何查看后台数据库wordpress底部小工具
  • 怎么看网站有没有做地图wordpress分类目录修改
  • 有关做橡胶品的网站企业建设网站专业服务
  • 临河可以做网站的公司问答系统网站模板
  • 东莞网站制作实力乐云seo公司注册地址怎么查
  • 百度商桥怎么添加到网站那个网站教你做美食
  • 网站建设费用预算表格南京网站推广哪家便宜
  • 拍卖网站开发泉州seo网站建设费用
  • 塘厦高铁站织梦手机网站怎么仿制
  • 舟山大昌建设集团网站云开发工程师
  • 微信定制开发 网站开发优秀vi设计案例分析ppt
  • 建设网站的申请信用卡吗应价交易系统网站开发
  • 成都青羊区网站建设互联网专业
  • 300元做网站asp.net 网站开发教程