简答题:求一个函数的最小值,做的有点怀疑PCA的原理矩阵向量的欧式距离的计算编程题:链表的逆序打印sql语句,查询每个人的分数最高的前两条记录插入排序
时间: 2024-09-10 12:22:57 浏览: 48
简答题:
求函数最小值通常不需要直接使用PCA(主成分分析),因为PCA是一个数据降维技术,用于找出数据的主要方向。如果问题是寻找某个函数的极小点,可以使用数值优化算法,比如梯度下降法或牛顿法,通过迭代找到函数值的局部最小值。
编程题:
1. **链表逆序打印**:遍历链表,同时维护两个指针,一个正常向前移动,另一个倒着移动,每次将当前节点的下一个节点赋给倒着走的指针,然后打印当前节点,直到倒着走的指针为空。
```python
def print_reverse_linked_list(head):
prev = None
curr = head
while curr:
next_temp = curr.next
curr.next = prev
prev = curr
curr = next_temp
if prev:
print(prev.data) # 输出反转后的第一个元素
else:
return
curr = prev
while curr:
print(curr.data)
curr = curr.next
```
2. **SQL查询最高分前两条记录**:
使用`LIMIT`关键字结合`ORDER BY`,按分数降序排列,取前两条:
```sql
SELECT * FROM scores
ORDER BY score DESC
LIMIT 2;
```
插入排序编程示例(Python):
```python
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
# 示例
arr = [4, 2, 9, 6, 5, 1]
sorted_arr = insertion_sort(arr)
print(sorted_arr) # 输出排序后的数组
```
阅读全文