- 博客(5)
- 收藏
- 关注
原创 chatGPT相关内容记录3.28
1.写出用傅立叶数值法求解非线性偏微分方程中的波方程(wave equation)的Python代码傅立叶数值法是一种求解偏微分方程的方法,它利用傅立叶变换将偏微分方程从时域转换到频域,然后求解频域中的方程,最后利用逆傅立叶变换得到时域中的解。以下是一个使用傅立叶数值法求解一维非线性波动方程的Python代码示例。这里我们考虑一个简单的非线性项(u^2),你可以根据需要调整非线性项。import numpy as npimport matplotlib.pyplot as pltfrom scip
2023-03-28 10:59:16
3055
1
原创 分治策略------棋盘覆盖(ChessBoard)
棋盘覆盖原理棋盘覆盖运用的是分治策略。1.分治的技巧在于如何划分棋盘,使划分后的子棋盘的大小相同,并且每个子棋盘均包含一个特殊方格,从而将原问题分解为规模较小的棋盘覆盖问题。2.k>0时,可将2k×2k的棋盘划分为4个2(k-1)×2(k-1)的子棋盘。这样划分后,由于原棋盘只有一个特殊方格,所以,这4个子棋盘中只有一个子棋盘包含该特殊方格,其余3个子棋盘中没有特殊方格。3.为了将这3个没有特殊方格的子棋盘转化为特殊棋盘,以便采用递归方法求解,可以用一个L型骨牌覆盖这3个较小棋盘的会合处,从而
2020-05-14 18:32:21
1892
原创 二分技术(BinaryTechnology)
二分搜索技术(Binary Search)二分搜索技术是运用分治策略的典型例子。二分搜索技术的基本思想是,将n个元素分成两半,取要查找的数x和a [n / 2]进行比较。当 x = a [n / 2],查找结束,算法终止。当 x > a [n / 2],在数组的右半部分继续搜索 x。当 x < a [n / 2],在数组的左半部分继续搜索 x。template<class Type>int BinarySearch(Type a[], const Type&
2020-05-11 00:32:38
220
原创 归并排序(Mergesort)
归并排序是基于分治策略的一种排序算法。归并排序基本思想是:将待排序的元素分成大小大致相同的两个子集合,分别对两个字集合进行排序,最终将排好序的子集合序列合并成要求的排好序集合。合并算法可递归描述如下:template<class Type>void MergeSort(Type a[], int left, int right){ if(left < rig...
2020-05-09 13:55:04
1164
原创 快速排序(Quicksort)
快速排序是基于分治策略的另一种排序算法。快速排序(1)基本思想是,对于输入的数组a[p : r]按照分解,递归求解,合并三个步骤进行排序。分解:以a[p : r]中的p为基准将原数组分成三段,分别是a[p : q - 1],a[q],a[q + 1:r]。下标q在划分过程中确定。void QuickSort(Type a[], int p, int r){ if(p < ...
2020-05-07 00:19:16
937
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人